如何检查模式视图当前是否在我的self.window.rootViewController上?

Pie*_*ter 9 cocoa-touch uiviewcontroller ios

我需要检查根视图控制器上是否还有模态视图.我面临的问题是我有一个第二个模态视图来自某个需要显示的线程.我想延迟第二个模态视图,直到第一个模态视图消失.我不能在第一个被解雇后启动它,因为第二个模态视图是有条件的.

[self.window.rootViewController presentModalViewController:vc animated:YES];
Run Code Online (Sandbox Code Playgroud)

我想做什么(随意建议更好的替代方式):

  1. 检查self.window.rootViewController当前是否有顶部显示的模态视图(或仍然是动画模式视图).
  2. 使用 performSelector:afterDelay:0.1
  3. 再次检查,如果需要,再次延迟

tux*_*x91 13

获取rootViewController.presentedViewController(在iOS 5.0+中可用)或rootViewController.modalViewController(在iOS 2.0+中可用)并查看它是否为零.

此外,您希望从辅助线程呈现第二个视图控制器,所有UI内容必须在主线程上完成.