6

我正在尝试找到一种方法来捕获从 segue 到根控制器的返回,以便我可以运行自定义代码来决定下一步去哪里。我已经尝试了以下两种方法,但它们并没有起到作用,因为它们似乎(显然)关心展开 segue 堆栈。有什么想法吗?

-(UIStoryboardSegue *)segueForUnwindingToViewController
{
}

-(BOOL)canPerformUnwindSegueAction
{
}
4

3 回答 3

6

仅适用于 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

于 2013-01-23T13:44:18.923 回答
2

您的方法调用不完整。这是另一篇文章,它提供了一些关于如何使用 unwind 方法的好例子:

什么是 unwind segues 以及如何使用它们

于 2013-01-22T08:10:41.367 回答
0

如果您只需要知道您的 VC 何时从堆栈中删除,那么请注意 boolean isMovingFromParent

检查isMovingFromParent其中一个viewWillDisappearviewDidDisappear以确保您的视图将不再存在。

于 2020-09-11T10:40:14.077 回答