Ale*_*son 0 uiviewcontroller uinavigationcontroller modalviewcontroller presentmodalviewcontroller ios
好的,我知道有很多关于这个主题的信息,但是我尝试的一切都不起作用.我的设置是这样的.
应用程序使用navigationController加载View A,这是一个Tableview.延迟后,我提出了一个ModalView B.在视图B上我有一个按钮,在视图B上方显示另一个模态视图C.在模态视图中CI有一个按钮来消除C.现在当我按下这个按钮时我也想要消解模态查看B将我带回我的RootView,这是提到的tableView视图A.
从模态视图CI有一个按钮,但只能使用下面的动作来解除C这需要我进入模态视图B:我想要做的是用这个按钮删除C和B,如果可能的话,将我返回给A?
-(IBAction)dismissWebView:(id)sender{
[self dismissModalViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)
我已经从上面的行动中尝试了所有这些
[self.parentViewController dismissModalViewControllerAnimated:YES];
[self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES];
[adsRootView dismissModalViewControllerAnimated:YES];
[self dismissModalViewControllerAnimated:YES];
[self dismissModalViewControllerAnimated:YES];
[self.navigationController dismissModalViewControllerAnimated:YES];
[self.adsRootView dismissModalViewControllerAnimated:YES];
[[[self parentViewController] parentViewController] dismissModalViewControllerAnimated:YES];
[self.navigationController popToRootViewControllerAnimated:NO];
Run Code Online (Sandbox Code Playgroud)
除了仅解除Modal视图C之外,其中任何一个都没有做任何事情.
所以简单的方法是到达你的A控制器,在这种情况下不是父子关系,而是呈现/呈现的关系:
[self.presentingViewController.presentingViewController dismiss...]
^C ^B ^A
Run Code Online (Sandbox Code Playgroud)
但是,这不是很干净,当你改变你的控制器层次结构时会得到你,所以我建议设置一个委托来通知什么时候可以解雇控制器.
| 归档时间: |
|
| 查看次数: |
1387 次 |
| 最近记录: |