Мое приложение представляет собой modal view controller (форма ввода пароля) всякий раз, когда приложение запускается. Я представить контроллер представления в методах делегата два приложения:Почему контроллер модального представления не отображается в 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:
делает. Почему это?
EDIT: Я хотел бы упомянуть, в комментариях ниже, что я с помощью раскадровки и self.window.rootViewController действительно указывают на объект (в основном, это не ноль)
Как rootViewController получает назначение на окно? MainWindow.xib? Раскадровка? Я предполагаю, что либо self.window, либо self.window.rootViewController еще не назначено в файле didFinishLaunchingWithOptions. – jsd
раскадровка - я забыл упомянуть, что self.window.rootViewController указывает на контроллер вида, т. Е. это не nil –