我有这个导航堆栈
RootVC ---> VC1 --> (呈现)-> ModalVC
我有VC2(不在导航堆栈中)。
演示时ModalVC,我想单击 ModalVC 中的按钮来关闭 ModalVC,然后推送VC2之后进入导航堆栈VC1一键点击。它应该看起来像这样:
根VC ---> VC1 ---> VC2
我尝试了很多方法来做到这一点,但只有当我返回到我的状态时才推动事件触发RootVC.
我试图与代表们一起做到这一点:
In ModalVC点击时:
[self dismissViewControllerAnimated:YES completion:^{
if ([self.delegate respondsToSelector:@selector(dismissAndPush:)]) {
[self.delegate performSelector:@selector(dismissAndPush:) withObject:VC2];
}
}];
In VC1:
- (void)dismissAndPush:(UIViewController *)vc {
[self.navigationController pushViewController:vc animated:NO];
}
请帮助理解这种行为。我的错误在哪里?
From 苹果文档 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/index.html#//apple_ref/occ/instm/UIViewController/dismissViewControllerAnimated:completion::
呈现视图控制器负责关闭视图
它提出了控制器。
所以,VC1应该解雇ModalVC,尝试这样做
单击时的 ModalVC:
if ([self.delegate respondsToSelector:@selector(dismissAndPush:)]) {
[self.delegate performSelector:@selector(dismissAndPush:) withObject:VC2];
}
In VC1:
- (void)dismissAndPush:(UIViewController *)vc {
[self dismissViewControllerAnimated:YES completion:^{
[self.navigationController pushViewController:vc animated:NO];
}];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)