Модальный вид с панелью контроллера навигации - PullRequest
0 голосов
/ 19 июля 2011

Когда я пытаюсь представить modalViewController, он закрывает панель навигации моего контроллера навигации.Какие-нибудь советы?Спасибо.

ОБНОВЛЕНИЕ (с кодом):

ComposeText *compText = [[ComposeText alloc] initWithNibName:@"ComposeText" bundle:[NSBundle mainBundle]];
compNavController = [[UINavigationController alloc] initWithRootViewController:compText];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:compNavController action:@selector(compDoneTapped:)];
compNavController.navigationItem.rightBarButtonItem = doneButton;
[self presentModalViewController:compNavController animated:YES];
compText.title = @"Compose";
[doneButton release];

Кажется, все в порядке, но кнопка все еще не появляется на панели навигации.

Ответы [ 3 ]

1 голос
/ 19 июля 2011

Вопрос, который вам нужно задать себе: «почему я хочу показать свою панель навигации». Если это дает пользователю доступ к некоторым кнопкам, то это неправильная причина. Контроллеры модального представления предназначены для полного контроля над экраном и не позволяют пользователю манипулировать чем-либо еще в приложении до тех пор, пока контроллер не будет удален. Если вы не хотите этого, сделайте так, как предлагает Киприан, и вставьте контроллер просмотра в свой стек навигации.

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

1 голос
/ 19 июля 2011

Это то, что он должен делать.Если вам нужна панель навигации, представьте новый UINavigationController модально и установите его корневой контроллер на ваш modalViewController.

0 голосов
/ 19 июля 2011

UINavigationController имеет свой собственный метод для отображения другого viewController.

-(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

Он использует стек, чтобы выдвинуть новый viewController, чтобы он мог управлять навигацией с помощью кнопок.

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