【发布时间】:2012-02-02 23:21:20
【问题描述】:
每当应用程序运行时,我的应用程序都会显示一个模态视图控制器(密码输入表单)。我在两个应用程序委托方法中展示了视图控制器:
- (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: 中的调用会呈现视图控制器。这是为什么呢?
编辑:根据下面的 cmets,我想提一下,我正在使用 Storyboard 并且 self.window.rootViewController 确实指向一个对象(基本上,它不是 nil)
【问题讨论】:
-
rootViewController 是如何分配给窗口的?主窗口.xib?故事板?我的猜测是在 didFinishLaunchingWithOptions 中尚未分配 self.window 或 self.window.rootViewController。
-
storyboard - 我忘了提到 self.window.rootViewController 确实指向一个视图控制器,即。这不是零
标签: iphone objective-c ios ipad modalviewcontroller