Мое приложение имеет два режима отображения. В делегате приложения есть контроллер панели вкладок. Есть два вкладки, оба из которых используются подклассами. Два контроллера обзора по существу содержат контроллер nav каждый. Контроллеры навигации имеют свой корневой контроллер, и, как правило, при смене экранов я просто нажимаю и поп-контроллеры соответствующего навигационного контроллера. У этого есть (нормальный) эффект, что нижняя панель вкладок всегда видна, все здорово и здорово.Проблема с «Представление контроллера по модулю внутри контроллера навигации в контроллере панели вкладок»
Это одно и то же время, когда я хотел бы представить экран, однако, чтобы пользователь не мог ничего сделать, кроме подтверждения или отмены страницы, используя две кнопки, то есть я хочу скрыть также нижнюю панель вкладок. Это будет случай представления представления, как я думал, но представление представлено в пределах контроллера навигатора, похоже, поэтому нижняя панель вкладок все еще видна, и это вызывает путаницу в навигации приложения. Я не уверен, как возможно, что модально представленное представление не скрывает панель вкладок. Большинство вопросов вокруг здесь, похоже, имеют проблему наоборот (желая (неправильно) представить модальное представление и оставить видимым панель вкладок).
Это мои попытки:
[self presentModalViewController:controller animated:YES]; // inside tab bar controller :-(
[self.tabBarController presentModalViewController:controller animated:YES]; // nothing is displayed. The new controller is instantly deallocated.
[self.navigationController presentModalViewController:controller animated:YES]; // inside tab bar controller :-(
Следственные это, self.tabBarController фактически равна нулю. Кажется, что нет ссылки на контроллер панели вкладок ... Думаю, чтобы отображать модально поверх панели вкладок, мне нужно получить ссылку на этот контроллер панели вкладок?
Это единственный способ, которым я нашел это. Оттуда вы можете добавить subview в окно, а не напрямую обращаться с контроллером панели вкладок, поскольку [window addSubview: yourModalViewController.view]; который появляется после добавления вашей вкладки, выведет его вперед. – 2010-12-01 03:30:59