假设您有一个应用程序,其中您确定显示始终显示UINavigationController
,并且我需要从此控制器外部以模态方式显示另一个视图控制器(例如:因为我使用命令模式我不想给它一个视图控制器的引用。)
是否有一种安全的方法来获取“根”导航控制器,并调用其presentModalViewController:animated
方法?
我尝试使用[UIApplication sharedApplication].keyWindow.rootViewController
但I figured out that it was nil during an alert。
答案 0 :(得分:1)
您使用的是故事板还是单独的xib?
如果您使用的是单独的xib,那么您将在UINavigationController
中设置applicationDidFinishLaunching
。
您可以将导航控制器设为应用委托的属性。
然后,您可以通过获取单例应用程序委托并从中获取导航控制器属性,从任何地方访问UINavigationController。