presentModalViewController не показывает панель навигации - PullRequest
0 голосов
/ 03 марта 2012

Что мне нужно сделать, чтобы отобразить панель навигации в представлении, представленном с помощью presentModalViewController?

Я вызываю presentModalViewController из кода.

Когда я обращаюсь к тому же представлениюв раскадровке, которая в этом случае встроена в navcontroler, все отлично работает.

Thx Mica

Ответы [ 2 ]

4 голосов
/ 03 марта 2012

Вам необходимо добавить навигационную панель к контроллеру при модальном представлении

    UIViewController* myViewController = [[UIViewController alloc] init];
UINavigationContoller* navController = [[UINavigationController alloc] initWithRootViewController:myViewController];
[self presentModalViewController:navController animated:YES];

Затем в методе viewWillAppear myViewController вы можете установить кнопку отклонения или закрытия для модального контроллера.

Другой способ сделать это, если вы используете раскадровку, - просто получить раскадровку по имени и создать экземпляр контроллера по идентификатору.

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"storyboard" bundle:nil];
[storyboard instantiateViewControllerWithIdentifier:@"myViewController"];

Во втором примере myViewController - это UINavigationController в файле раскадровки. Я принимаю ARC для всего кода.

0 голосов
/ 03 марта 2012

Предполагая, что я понимаю ваш вопрос, у вас уже есть контроллер вида навигации на одном экране, и вы хотите открыть следующий экран и по-прежнему иметь его.

В этом случае вместо использования [view presentModalViewController: animated:] в представлении используйте [NavController pushViewController: animated:] на контроллере представления навигации.

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