iPhone - изменить вид контроллера навигации, используя кнопку в подпредставлении - PullRequest
0 голосов
/ 17 октября 2011

У меня есть навигационный контроллер с рутвью. Корневое представление содержит кнопки, которые корректно выдвигают новые виды на контроллер навигации.

Однако в этом корневом представлении у меня также есть подпредставление (это предварительный просмотр с прокруткой, такой как изображения из магазина приложений, вид из 3 элементов пользовательского интерфейса). На этих UIViews есть кнопка, которую я хотел бы изменить контроллер навигации rootview, как и другие кнопки.

В данный момент он собирается и запускается, но новое представление не выдвигается. Есть идеи?

Метод нажатия на кнопку ScrollItem:

MyViewController *newView = [[MyViewController alloc] initWithNibName:@"ManageMyPain" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:newView animated:YES];  

... я думаю, это потому, что у self нет навигационного контроллера, но у rootview есть.

Спасибо !!

Ответы [ 2 ]

1 голос
/ 17 октября 2011

Свойство "navigationController" устанавливается в контроллере представления только в том случае, если он помещен в стек контроллеров навигации.ваше второе представление является вложенным представлением push viewcontroller, что означает, что это свойство имеет значение NULL и не будет ничего делать, если вы попытаетесь что-то выдвинуть.

0 голосов
/ 17 октября 2011

Да, это потому, что self.navigationController будет нулевым, если вы не поместили этот контроллер в стек навигации или если вы не установили его вручную.

Так что вам просто нужно иметь ссылку на rootViewController.navigationController, и тогда [navigationController pushViewController:newView animated:YES]; будет отлично работать.

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