我有一个视图控制器 B,它被根视图控制器 A 推送到导航堆栈上,如果该视图控制器 B 的模型处于某种状态,则该视图控制器 B 需要显示另一个视图,因此它以模态方式呈现另一个视图控制器 C。当我关闭时如果视图控制器 B 也在导航堆栈上,视图控制器 CI 也想弹出视图控制器 B。我想以只有 1 个过渡的方式进行。
有任何想法吗?
我有一个视图控制器 B,它被根视图控制器 A 推送到导航堆栈上,如果该视图控制器 B 的模型处于某种状态,则该视图控制器 B 需要显示另一个视图,因此它以模态方式呈现另一个视图控制器 C。当我关闭时如果视图控制器 B 也在导航堆栈上,视图控制器 CI 也想弹出视图控制器 B。我想以只有 1 个过渡的方式进行。
有任何想法吗?
在您发布的场景中,视图控制器 C 的呈现视图控制器实际上是导航控制器,因此您可以要求它弹出 B,然后关闭自己。此代码在视图控制器 C 中:
-(IBAction)goBackToA:(id)sender {
[(UINavigationController *)self.presentingViewController popViewControllerAnimated:NO];
[self dismissViewControllerAnimated:YES completion:nil];
}
如果您正在使用情节提要,您可以执行相同的操作,通过展开转场直接跳回 A。