Могу ли я иметь более 1 UITabBarController? - PullRequest
0 голосов
/ 09 июля 2011

Давайте представим себе сценарий:

UITabBarController - UITabBar - вкладка 1: View Controller A - вкладка 2: View Controller B

Когда я нажимаю на View Controller, AI хочет нажать на другой UITabBarController:

UITabBarController -UITabBar - вкладка 1: просмотр контроллера 1 - вкладка 2: просмотр контроллера 2 - вкладка 3: просмотр контроллера 3

Возможно ли это?Чтобы UITabBarController поместил другой UITabBarController в стек представлений?

Ответы [ 2 ]

0 голосов
/ 09 июля 2011

Вы, конечно, можете сделать это, но я бы переосмыслил ваш дизайн.Выбор элемента UITabBar и изменение самой панели вкладок идет вразрез с Правилами взаимодействия с человеком .Кроме того, в вашем примере, как вы вернетесь к корневому контроллеру представления?

Возможно, вам следует использовать UITableView, который при нажатии на ячейку выдвигает контроллер представления, содержащий UITabBarController (технически это может идти вразрез с HIGтакже, так как панель вкладок должна быть одинаковой во всем приложении, но у меня было много приложений, принимающих это, и это кажется элегантным).Итак, используя ваш пример:

RootViewController: выдвигается как UINavigationController с UITableView, содержащим две ячейки: «cell1» и «cell2»

- при нажатии на «cell1» выдвигается контроллер представления, содержащий UITabBar (I), который содержит «View Controller A» и «View Controller B».

- При нажатии на «cell2» выдвигается контроллер представления, содержащий UITabBar (II), который содержит «View Controller 1», «View Controller 2»и «View Controller 3.»

В каждом случае вы получаете кнопку «назад», и сам UITabBar не должен изменяться.

0 голосов
/ 09 июля 2011

Конечно, я просто сложил их в конструкторе интерфейсов. Есть некоторые проблемы со смещением кадров, но вы можете видеть, что панели вкладок сложены. Кроме того, вкладки снимаются, когда выбираются другие вкладки. Я также должен был убедиться, что представление первой вкладки было добавлено в представление окна и подключено как IBOutlet, но в противном случае это должно быть сделано.

enter image description here

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