почему "window.rootViewController = self.navigationController" требуется в приложении на основе навигации Xcode 4? - PullRequest
4 голосов
/ 23 апреля 2011

Почему в методе didFinishLaunchingWithOptions необходима следующая строка?

self.window.rootViewController = self.navigationController;

То есть, отметив, что уже есть в Интерфейсном Разработчике, в MainWindow XIB, контроллере навигации с его панелью навигации и RootViewController в его иерархии.

Копирование всего метода для справкиэто:

- (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;
}

1 Ответ

7 голосов
/ 23 апреля 2011

В MainWindow.xib есть еще одна вещь, которую вы еще не сделали: добавление в окно представления контроллера навигации.

Строка

self.window.rootViewController = self.navigationController;

делает именно это.Альтернатива (и то, что мы написали в iOS 3):

[self.window addSubview:self.navigationController.view];
...