iOS 6和Xcode 4.5有一项称为"Unwind Segue"的新功能:
展开segue可以允许转换到故事板中的现有场景实例
除了Xcode 4.5发行说明中的这个简短条目之外,UIViewController现在似乎有几个新方法:
- (BOOL)canPerformUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender
- (UIViewController *)viewControllerForUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender
- (UIStoryboardSegue *)segueForUnwindingToViewController:(UIViewController *)toViewController fromViewController:(UIViewController *)fromViewController identifier:(NSString *)identifier
Run Code Online (Sandbox Code Playgroud)
展开segue如何工作以及它们可以用于什么?
如何以编程方式返回上一个视图控制器?我找到了这个答案,但有一个例子说明如果我们有导航堆栈怎么回去:
navigationController?.popViewControllerAnimated(true)
Run Code Online (Sandbox Code Playgroud)
如果我的控制器队列基于导航控制器,那就没关系.但是通常我们使用故事板,我们指定标有关键字的segue 显示意味着我们不关心导航推送或提出新视图控制器.所以在这种情况下我假设只有通过segue的unwind视图控制器的选项,但也许有一些简单的调用,我可以编程方式返回到我以前的视图控制器,而不检查我的视图控制器堆栈是否包含UINavigationController.
我正在寻找简单的东西self.performSegueToReturnBack.