Настройка размера UIModalViewController и наличие панели навигации - PullRequest
0 голосов
/ 27 февраля 2011

Я создал свой собственный класс ProfileUIViewController, который является UINavigationControllerDelegate.Я отображаю это представление двумя способами:

  1. Из IBAction в пределах A-UIViewController.m, как UIModalViewController.A-UIViewController имеет UINavigationBar при загрузке, но когда я отображаю модальное изображение, у него больше нет навигационной панели.

  2. При щелчке строки строки таблицы в B-UIViewController.m,толкая его в стек.B-UIViewController имеет UINavigationBar при загрузке, а ProfileViewController сохраняет navBar по желанию:)

Что я хочу сделать, так это сохранить UINavigationBar, когда представлениезагружается как модальное в случае 1, заполняя ВНУТРИ UINavigationBar вместо того, чтобы наложить на весь вид.(IE, я хотел бы, чтобы модал появлялся в A-UIViewConroller под navBar - уменьшая его размер)

Может кто-нибудь помочь мне с этим?Нужно ли мне создавать свой собственный класс ModalViewController - разве это не будет ProfileUIViewController?Нужны ли какие-то методы экземпляра, которые я не даю?Любое направление было бы здорово :)

1 Ответ

2 голосов
/ 27 февраля 2011

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

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

...