2009-10-06 5 views
0

Возможно ли иметь в одном приложении iPhone несколько UITabbarController?Несколько UITabbarComtroller в одном приложении для iPhone

Мое приложение имеет несколько разделов, каждый раздел должен иметь свой собственный UITabbarController для навигации в этом разделе. Новый раздел должен быть загружен, если определенный тип элемента выбран из предыдущего раздела. Во-вторых, кнопка «Назад» на панели навигации также должна выполнять их, если пользователь находится на первом контроллере второго раздела, который был нажат, если он нажмет кнопку, он должен вернуться в первую секцию, показывая свой UITabbarcontroller.

ответ

0

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

+0

Я создал UITababrController в приложении делегирует метод applicationDidFinishLaunching и для каждого из его элементов табуляции я связал UINavigationController, каждый из которых имеет UIViewController в качестве корневого контроллера. Когда щелкнут второй элемент вкладки, я нажимаю другой элемент управления tabbar, но просматривается через последний элемент управления tabbar. Я пытаюсь это на разных событиях, но не работает должным образом. Где я должен нажать панель управления tabbar. Если вы можете предоставить пример кода, это будет здорово. :) –

+0

Я пробовал это разными способами: 1. Второй элемент панели вкладок имеет связанный с ним UITabbarcontroller. 2. Контроллер навигации связан с каждым элементом панели. Когда нажата вторая кнопка вкладки, навигационный контроллер, связанный со вторым, загружает контроллер вида и толкает UITabbarController. Также попробовал 1 или 2 других способа. Но навигационные бары добавляются друг под друга, аналогично tabbarcontroller добавляются один над другим. –

0

Возможно, вы можете заставить это работать в своем сценарии, если ваши контроллеры табуляции находятся на одном уровне, то есть они не являются вложенными (я думаю, что их вложение приведет к множеству проблем).

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

Что бы я хотел сказать, у вас есть верхний уровень, как вы бы в обычном приложении панели вкладок. Дайте ему одну вкладку, навигатор верхнего уровня. И СКРЫТЬ панель вкладок на корневом уровне.

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

Затем сделайте то же самое для всех ваших других выборов. Таким образом, у вас только один контроллер табуляции, но для пользователя он выглядит так, как будто у вас есть один для каждого раздела.

Надеюсь, это поможет.

+0

Да, мои контроллеры панели вкладок были на одном уровне, и я назначил панель вкладок по умолчанию основному навигационному контроллеру, после чего я нажимаю или всплываю другие панели вкладок, когда требуется от главного навигационного контроллера –

Смежные вопросы