当我调用dismissViewControllerAnimated:completion:dismiss UIViewController时,当相应的视图正在动画到屏幕上时(使用presentViewController:animated:completion:),从不执行完成块.
该UIViewController甚至不dissappear.这就像dismissViewControllerAnimated:completion:被忽略了.
以下代码是一个简化的代码示例,因为原始代码要大得多.我在下面给出的代码模拟了一个用例,其中网络通信错误可能触发视图弹出,而另一个视图也同时弹出.
代码示例:
NSLog(@"Presenting view");
[self presentViewController:changeLocationViewController animated:YES completion:^{
NSLog(@"View done presenting");
}];
NSLog(@"Dismissing view");
[self dismissViewControllerAnimated:NO completion:^{
NSLog(@"View done dismissing");
}];
Run Code Online (Sandbox Code Playgroud)
日志输出是:
2013-08-28 16:14:12.162 [1708:c07]提出观点
2013-08-28 16:14:12.178 [1708:c07]解雇观点
2013-08-28 16:14:12.583 [1708:c07]查看做完了
有谁知道UIViewController在这些情况下如何解雇?
提前致谢.