У меня есть проект с NavigationController, который содержит в IB первый отображаемый ViewController. Это просто шаблон по умолчанию при создании проекта.
В этом первом viewController я получаю какое-то событие, которое отправляю в appDelegate, и хочу, чтобы он заменил это корневое представление другим. Не собираюсь переходить к следующему.
Так что я делаю:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
// Add the navigation controller's view to the window and display.
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
- (void) goNext {
[self.navigationController popViewControllerAnimated:NO];
NextViewController* nextWindow = [[[NextViewController alloc] initWithNibName:@"NextView" bundle:nil] autorelease];
[self.navigationController pushViewController:nextWindow animated:NO];
}
Но это не работает, первый контроллер представления не отображается. А второй логически отображается с помощью кнопки возврата.
Я просто хочу заменить это первое представление другим в качестве начала процесса навигации.