0

Так что я хочу сделать что-то подобное в Xcode (используя Swift):Объединить 2 ViewControllers в одной вкладке TabBarView и позволяют взад и вперед переключение в пределах одной и той же вкладке

enter image description here

enter image description here

Должен быть вкладчик TabBar, содержащий 2 VC под одной вкладкой. Но когда одна из вкладок открывается, она должна показывать вторую иконку VC и разрешать мне переключаться между двумя VC с помощью одной и той же кнопки.

Как и при нажатии на «Список», он отображает List ViewController, а вкладка «Список» затем изменяется на «Карта» и наоборот.

EDIT: Включено объяснение, сделанное Чан.

+0

Вы говорите о выдвигающемся контроллере? Проверьте это https://github.com/KyleGoddard/KGFloatingDrawer – AMAN77

+0

Я предполагаю, что вы имели в виду, когда вы нажимаете «Список», на нем отображается List ViewController, а вкладка «Список» затем изменяется на «Карта» и наоборот. Но это не похоже на хороший дизайн и противоречит тому, что должно делать панель вкладок. Есть ли причина, по которой они не могут быть двумя отдельными вкладками? –

+0

@ AMAN77 Не совсем. –

ответ

0

Вы можете сделать это с помощью ниже шаги:

  1. Возьмите ContainerView на первой вкладке вашего TabBar (то может быть ThirdVC).

  2. SubClass your UITabBarController.

  3. Управление переменной Global переменной для текущего отображения VC в делегате приложения или вашем классе gloal.

  4. Выполните проверку и задачу обновления здесь (в подклассе контроллера TabBar)

    //Here you can write your logic to update the view controller for first tab. Get reference of FirstVC here or create a delegate from where you can update your first Tab.

    override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) { var selectedIndex = self.selectedIndex if selectedIndex == 0 { if currentVC == First { }else { } } }

+0

Почему 'UITabBarController' нужно сделать подклассом' ContainerView'? Разве это не сделало бы несколько TabBarControllers? Почему бы не сделать внутренние 2 действия подклассом «ContainerView» и связать это с 'UITabBarController'? –

+1

Нет. Вы должны подклассифицировать UITabBarController для определения выбора индекса на панели вкладок. Создайте ThirdVC в качестве первого контроллера для вашей первой вкладки и добавьте ContainerView. В ваш ThirstVC и в этом представлении контейнера вы переключаетесь между двумя i.e FirstVC и SecondVC. И на том же Tabbarcontroller вы сможете изменить значок Tab. –

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