![](/img/trans.png)
[英]How to know if a view controller will be presented as a popover or modal?
[英]Why is the modal view controller not being presented in applicationDidFinishLaunchingWithOptions?
每当运行应用程序时,我的应用程序都会显示一个模式视图控制器(密码输入表单)。 我用两种应用程序委托方法介绍了视图控制器:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self.window.rootViewController presentModalViewController:self.passcodeViewController animated:NO];
//...
return YES;
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if (!self.passcodeViewController.view.window) {
[self.window.rootViewController presentModalViewController:self.passcodeViewController animated:NO];
}
}
在application:didFinishLaunchingWithOptions:
方法中提供模态视图控制器的调用不提供视图控制器,而在applicationDidBecomeActive:
则提供视图控制器。 为什么是这样?
编辑 :我想提一下,根据下面的评论,我正在使用一个故事板,并且self.window.rootViewController确实指向一个对象(基本上,它不是nil)
从《 UIApplicationDelegate协议手册参考》中:
在启动应用程序并加载其主要nib文件之后,将调用它。 在调用此方法时,您的应用程序处于非活动状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.