Почему этот код не загружает мой NIB / XIB - PullRequest
0 голосов
/ 19 сентября 2009

У меня есть 2 XIB с соответствующими им контроллерами вида. Будут называть их MainViewController и AboutViewController. Имена XIB точно такие же, как имена ViewControllers. После нажатия кнопки в MainViewController я хочу показать AboutViewController.

У меня есть такой код в MainViewController:

- (IBAction) infoButtonAction:(id)sender {
    AboutViewController *aboutViewController = [[AboutViewController alloc] init];
    [[self navigationController] pushViewController:aboutViewController animated:YES];
}

Но ничего не происходит, AboutViewController не отображается. Я также попробовал эту строку:

AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil];

Но безрезультатно. Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 19 сентября 2009

Проверьте ваш AboutViewController.xib в Интерфейсном Разработчике и убедитесь, что для Владельца файла установлено значение AboutViewController в инспекторе классов. Также убедитесь, что свойство view Владельца файла подключено к представлению в xib. Наконец, код для отображения должен иметь следующий вид:

- (IBAction) infoButtonAction:(id)sender {
    AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil];
    [[self navigationController] pushViewController:aboutViewController animated:YES];
    [aboutViewController release];
}

Кроме того, вы должны проверить, что это не ноль в том же методе:

UINavigationController * nc = self.navigationController;
0 голосов
/ 19 сентября 2009

вы получаете ошибку? Вы проверяли, что кнопка в IB правильно подключена?

Вы пробовали использовать контроллер модального вида?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...