2016-04-27 6 views
2

Это текущий макет для моего приложения. Как вы можете видеть, у меня есть ViewController, встроенный в TabBarViewController. Вы можете видеть, что у меня есть две панели вкладок в обоих этих контроллерах нижнего представления, но появляется только первая. Во втором представлении контроллера после нажатия на кнопку, панель вкладок исчезает. Почему это?TabBar исчезает после Push Segue

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

enter image description here

enter image description here

ответ

1

Попытка установить self.tabBarController.tabBar.translucent = НЕТ; in viewWillAppear

+0

решила проблему? –

1

Вам необходимо обернуть свой корневой режим просмотра tabBar в UINavigationController. Таким образом, ваш UITabBarController фактически будет направлен на контроллер навигации. Затем, когда вы перемещаетесь в этом навигационном контроллере, панель вкладок будет оставаться на месте.

Чтобы исправить это в своем приложении, выберите контроллер своего вида в раскадровке, затем нажмите «Редактор» -> «Вставить» -> «Контроллер навигации».

Вот визуальное представление, которое я просто бросил вместе для всех, кто сталкивается с этой проблемой. Если вы удалите «NavigationController» в раскрывающемся списке, показанном ниже, вкладка исчезнет, ​​когда вы нажмете кнопку в «Первом представлении». С контроллером навигации вы будете поддерживать панель вкладок. Надеюсь это поможет.

enter image description here

+0

Это позволило мне 99% пути, единственное, что мне также нужно было сделать, это отключить «Панель навигации» на навигационном контроллере. – iCyberPaul

0

Вы могли бы также попытаться отклонить мнения, добавив выпускную/действие. Например, у меня возникла проблема, когда у меня был контроллер отображения TabBar, и вам нужно было переходить между двумя разными видами (ImageViews) на одной из вкладок, и как только я сделал традиционный сеанс, вся панель вкладок исчезла. Я создал следующую кнопку «Назад», чтобы очистить вид:

@IBAction func backBtnPressed(_ sender: AnyObject) { 
    dismiss(animated: true, completion: nil) 
    } 

Примечание: Это важная практика, чтобы очистить взгляды, как они складывают сверхурочные и снизить производительность вашего приложения.

Техническая информация: https://developer.apple.com/reference/uikit/uiviewcontroller/1621505-dismiss

Не уверен, если это поможет, но стоит отметить!

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