Просмотр иерархии с помощью UIToolBar и UITabBarController - PullRequest
1 голос
/ 30 сентября 2011

У меня есть rootViewController, то есть UITabBarController.UIToolBar присутствует в этом контроллере, поскольку он имеет SearchBar, который является глобальным для приложения.В некоторых вкладках должен быть указан UIBarButtonItems или UISegmentedControl вместе с панелью поиска.На других вкладках в панели инструментов не должно быть ничего, кроме заголовка.

Какой хороший способ выложить вид?В настоящее время в зависимости от того, какая вкладка выбрана, основная панель инструментов из rootViewController используется как есть, к ней добавляется UISegmentedControl, полностью скрывается и заменяется другим viewController, имеющим собственную панель инструментов и т. Д.Я думаю, что каждый viewController, который присутствует на его собственной вкладке, может иметь свою собственную панель инструментов и ссылаться на глобальную функциональность, а не скрывать / показывать разные панели инструментов.

извините, если это запутанный вопрос.Просто интересно, имели ли люди опыт с этим.Спасибо.

1 Ответ

0 голосов
/ 30 сентября 2011

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

Лучшим дизайном может быть отказ от UITabBarController и использование UINavigationController в качестве корневого контроллера. Вместо вкладок у вас может быть табличное представление с элементом для каждого представления вашего приложения. Тогда у вас будет место для панели инструментов в нижней части экрана. Фактически, UINavigationController поддерживает наличие панели инструментов внизу. Вы просто переопределяете свойство toolbarItems, чтобы возвращать элементы, которые должны появляться в каждом из дочерних контроллеров представления. Вам просто нужно установить toolbarHidden на NO на UINavigationController, и все готово.

...