【发布时间】:2014-04-27 22:07:52
【问题描述】:
根据文档dismissViewControllerAnimated:completion: 将允许您通过仅解除堆栈底部的控制器来解除整个视图控制器堆栈。当我尝试这个时,只有顶级控制器被解雇。
例如,考虑下图,其中控制器 A 和 B 都以模态方式呈现。如果我解雇 A,那么 A 和 B 都应该被解雇,但 只有 B 被解雇!
下面是当用户点击 B 的按钮时触发的动作。根视图控制器解除 A(其呈现的控制器),但只有 B 被解除!!
- (IBAction)dissmissAandB:(id)sender {
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
ViewController *rootViewController =
(ViewController *) appDelegate.window.rootViewController;
[rootViewController.controllerA dismissViewControllerAnimated:YES completion:^{}];Below
}
根视图控制器的 controllerA 属性在第一个 segue 准备好时设置(即,当 A 出现时)。任何想法为什么这不像宣传的那样工作?
【问题讨论】:
-
你检查过 unwind segues 吗? stackoverflow.com/questions/12561735/…
标签: ios uiviewcontroller