在展开的 segue 中弹出到根视图
Posted
技术标签:
【中文标题】在展开的 segue 中弹出到根视图【英文标题】:Pop to root view in an unwind segue 【发布时间】:2014-02-05 22:28:01 【问题描述】:我的视图控制器顺序如下:
A -> (推) -> B -> (模态) -> C
我使用 unwind segue 从 C 返回到 B,它可以工作。
但是我想直接从 C 回到 A。
在位于 B 的 unwind segue 中,我尝试弹出到根视图:
-(IBAction)unwindToBfromC:(UIStoryboardSegue *)segue
[self.navigationController popToRootViewControllerAnimated:YES];
我得到这个错误:
Tried to pop to a view controller that doesn't exist.
当我执行时:
[self.navigationController popToRootViewControllerAnimated:YES];
在B中一个按钮动作我返回A没问题。怎么了?
【问题讨论】:
我在这里找到了一个不错且优雅的解决方案:链接 那里好像没有链接... 多么愚蠢的错误。链接在这里:chrisrisner.com/Unwinding-with-ios-and-Storyboards 跟着步骤...***.com/questions/12561735/… 【参考方案1】:由于 C 处于模态,因此没有什么可弹出的。所以请忽略它。
[self dismissViewControllerAnimated:YES completion:nil];
【讨论】:
当我以这种方式解雇 C 时,我只会回到 B。 我的错!如果您使用[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];
会怎样?虽然有点脏。
然后什么也没有发生,因为它是一个模态,它本身就是一个根视图。我找到了一个不错的解决方案,并在我的答案的评论中发布了一个链接。以上是关于在展开的 segue 中弹出到根视图的主要内容,如果未能解决你的问题,请参考以下文章