当我调用
以下代码是一个简化的代码示例,因为原始代码要复杂得多。我提供的代码模拟了一个使用情况,在这种情况下,网络通信错误可能触发一个视图弹出,而同时也可能弹出另一个视图。
代码示例:
dismissViewControllerAnimated:completion:
来解散一个UIViewController
时,当相应的视图正在使用presentViewController:animated:completion:
进行屏幕动画时,完成块永远不会执行。
UIViewController
甚至没有消失。就像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");
}];
日志输出如下:
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
?
先谢谢了。
UIViewController
?你自己继承了它还是使用了第三方库? - Peter Warbo