presentModalViewController, не работающий

вот мой код:

ViewController *vc = [[ViewController alloc] initWithNibName:@"TableView" bundle:nil];
[self.navigationController presentModalViewController:vc animated:YES];
//[self setView:[vc view]];

Если я называю его, ничего не происходит. Однако, если я изменяю его на:

ViewController *vc = [[ViewController alloc] initWithNibName:@"TableView" bundle:nil];
//[self.navigationController presentModalViewController:vc animated:YES];
[self setView:[vc view]];

Представление появляется очень хорошо (без перехода, конечно). Что я делаю неправильно? Действительно ли там что-нибудь является особенным, необходимо ли заботиться о при инициализации контроллера представления? Я пытался скопировать как можно больше от примеров Apple, но я не могу заставить это работать...

Спасибо за любой вход!

- Ry

6
задан ryyst 21 March 2010 в 15:16
поделиться

1 ответ

Вы можете представить только контроллеры модального представления от контроллеров, которые уже были показаны на экране (обычно через UINavigationController или UITabBarController). Попробуйте создать UINavigationController, вставив в него viewController и , затем представив свой модальный контроллер. В Xcode есть стартовый проект, который показывает, как создать поток на основе UINavigationController, если вы с ним не знакомы.

Еще одно замечание: если вы не поместили контроллер представления в UINavigationController, свойство .navigationController будет равно нулю, и обмен сообщениями не будет иметь никакого эффекта.

24
ответ дан 8 December 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: