为什么模态视图控制器没有出现在applicationDidFinishLaunchingWithOptions中?

时间:2012-02-02 23:21:21

标签: iphone objective-c ios ipad modalviewcontroller

每当应用程序运行时,我的应用程序都会提供一个模态视图控制器(密码输入表单)。我在两个应用程序委托方法中呈现视图控制器:

- (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确实指向一个对象(基本上,它不是零)< / p>

1 个答案:

答案 0 :(得分:0)

来自UIApplicationDelegate协议手册参考:

  

在启动应用程序及其主笔尖后调用它   文件已加载。在调用此方法时,您的   应用程序处于非活动状态。