Вкладки под кнопкой «Дополнительно» UITabBarController имеют 2 панели навигации - PullRequest
0 голосов
/ 16 апреля 2011

У меня есть 6 контроллеров представления на UITabBarController.У каждого из них есть UINavigationBar вверху (не связанный с UINavigationController) для отображения названия этого контроллера представления и некоторые кнопки для управления им.Это было нормально, когда у меня было 5 контроллеров, так как кнопка «Больше» не появлялась, но когда я добавляю 6-й, появляется кнопка «еще».Вкладки под этим в конечном итоге имеют две UINavigationBars!Один - это тот, который я добавил, с моим заголовком, другой создается с помощью TabBar и имеет стрелку «Назад», чтобы вернуться на дополнительную страницу.Как я могу это исправить, объединяя их или иным образом?

Спасибо, если вы хотите скриншоты, просто спросите.

Вот скриншот

http://imgur.com/S9rFR

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

Ответы [ 2 ]

1 голос
/ 16 апреля 2011

Да, вам нужно объединить их. Так как вам нужно больше вкладок, появится больше контроллера, и как только вы войдете в систему, он вернет кнопку возврата (подробнее). Чтобы решить эту проблему и сохранить свой коричневый navigationBar, вам нужно будет использовать navigationController для этих tabs в большем (только для дополнений, а не для всех). Это добавит больше (кнопка назад) на ваш navigationBar.

Но помните, что в more у вас будет опция edit, с помощью которой пользователь может изменять положение вкладок. Таким образом, в этом случае эта проблема может появиться для других контроллеров. Поэтому, пожалуйста, проверьте, можете ли вы отключить редактирование tabs (перестановка). Если нет, то вы должны думать то же самое для других controllers также (в других tabs)

Спасибо

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

Хорошо, следовал всем вашим советам, но не повезло, пока: я не проверил это https://stackoverflow.com/a/3397506/468868

По сути, вы правы @Ravin, мы должны обернуть элементы в NavigationControllers, но после этого вы должны указать, что:

- (void)viewDidLoad
{
    self.navigationController.navigationBarHidden = YES;
}

Теперь мне просто нужно выяснить, как удалить навигационный контроллер из представления «Больше»

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