我正在尝试找到一种方法来捕获从 segue 到根控制器的返回,以便我可以运行自定义代码来决定下一步去哪里。我已经尝试了以下两种方法,但它们并没有起到作用,因为它们似乎(显然)关心展开 segue 堆栈。有什么想法吗?
-(UIStoryboardSegue *)segueForUnwindingToViewController
{
}
-(BOOL)canPerformUnwindSegueAction
{
}
我正在尝试找到一种方法来捕获从 segue 到根控制器的返回,以便我可以运行自定义代码来决定下一步去哪里。我已经尝试了以下两种方法,但它们并没有起到作用,因为它们似乎(显然)关心展开 segue 堆栈。有什么想法吗?
-(UIStoryboardSegue *)segueForUnwindingToViewController
{
}
-(BOOL)canPerformUnwindSegueAction
{
}
仅适用于 iOS 6:
“在您希望返回的控制器中,实现一个返回 IBAction 的方法,该方法采用单个 UIStoryboardSegue 参数:
- (IBAction)returnActionForSegue:(UIStoryboardSegue *)returnSegue {
// do useful actions here.
}
现在,在我们希望展开的场景中,从 UI 元素中按住 control 并拖动,这将触发返回到场景的退出图标(停靠栏中的绿色图标)。在弹出的菜单中,选择之前定义的返回项。”
更多信息:http: //www.freelancemadscience.com/fmslabs_blog/2012/9/24/advanced-storyboard-techniques.html
您的方法调用不完整。这是另一篇文章,它提供了一些关于如何使用 unwind 方法的好例子:
如果您只需要知道您的 VC 何时从堆栈中删除,那么请注意 boolean isMovingFromParent
。
检查isMovingFromParent
其中一个viewWillDisappear
或viewDidDisappear
以确保您的视图将不再存在。