我有以下情况:
查看控制器A - >以模态呈现 - >查看控制器B
查看控制器B - >以模态呈现 - >查看控制器C
我想解除视图控制器“C”并直接转到“A”而不是显示“B”,因为那时显示“B”是没有意义的。
我怎样才能做到这一点?
谢谢, 丹尼尔
答案 0 :(得分:8)
在'视图控制器C' - >
中在iOS 6之前: 使用
[self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES];
或者,
[self.presentingViewController.presentingViewController dismissModalViewControllerAnimated:YES];
iOS 6及以上版本: 使用
[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];
答案 1 :(得分:3)
您可以使用segue从其他视图控制器呈现视图控制器。
要向后浏览层次结构,您通常会忽略显示的视图控制器,或者通过展开segues 返回到特定的视图控制器。
答案 2 :(得分:1)
尝试以下方法:
[vcB dismissModalViewControllerAnimated:NO] //no Animation, so happens instantly
[vcA dismissModalViewControllerAnimated:YES] //with Animation, this is all you see
答案 3 :(得分:1)
如果您的B和C相关且是A
的更详细版本,那么您最好的选择是使用导航控制器A-> B-C。您将解除堆叠/弹出堆栈中推送的视图控制器的问题。
阅读此链接非常有用 - http://chrisrisner.com/Unwinding-with-iOS-and-Storyboards