在我的应用程序启动时,它以编程方式显示使用segue的LoginViewController。视图控制器以模态方式呈现,设置为交叉解散。成功验证后,我想通过以编程方式触发unwind segue来关闭登录视图。所以我说这我的头文件:iOS 6 - 以编程方式触发Unwind Segue什么都不做
- (IBAction)unwindSegue:(UIStoryboardSegue *)segue;
现在在IB我能够控制拖动从“文件的所有者” LoginViewController的退出按钮,并选择unwindSegue:
。这会创建一个手动循环,它会正确显示在文件所有者和退出按钮的Connections检查器中。然后,我从IB中的场景中单击新创建的Unwind segue,然后为其命名。如果我点击“去”按钮来取消放风行为,它会将我带到上述声明中。
到目前为止好,我再触发,认证成功后该开卷赛格瑞在我的GCD块:
....
dispatch_async(dispatch_get_main_queue(),^
{
[self performSegueWithIdentifier:@"UnwindSegueIdentifier" sender:self];
[self.spinner removeFromSuperview];
self.spinner = nil;
});
.....并在运行时没有任何反应。微调器确实被正确移除,但没有任何放松继续执行的迹象。
unwindSegue:
执行中的一个断点从未被击中。没有错误抛出。没有任何东西写入控制台。标识符是正确的,我三重检查(否则它会失败)。
我看了答案here,here和here但我似乎没有错过任何东西。
我也注意到什么虽然是Xcode认为unwindSegue:
是不链接:
我无法从在unwindSegue:
前的小空圈拖动并将其链接到的退出按钮。
任何帮助将不胜感激。
你为什么不干脆让退出按钮触发SEGUE,即线直接按钮? – Matthias 2013-02-19 13:51:40
感谢您的回复,但我想我可能没有在那里清楚表达自己的意见......我一直在谈论的退出按钮是绿色的退出按钮,而不是视图上的实际按钮 – 2013-02-19 22:03:25
究竟应该触发您的退休继续?为什么你需要以异步的方式来完成,比如你为什么要使用GCD? – Matthias 2013-02-20 07:36:59