Работа с tab bar


#1

Как сохранять нижний таб бар когда возвращаешься обратно?, после того как я возвращаюсь на предыдущий vc у меня пропадает таб бар


#2

Из текущего VC, с которого возвращаетесь, в методе viewDidDissappear

tabBarController?.tabBar.hidden = false

Хотя это все можно настроить через IB, там есть галочка “Hide TabBar on Push” - как-то так. В этом случае все будет работать красивее и без лишнего кода.


#3

он и так был отключен или я чего то не понимаю?


#4

У вас вообще-то эта галочка не стоит, а значит вы прячете таббар через код.
Попробуйте закоментить свой код hide/show для таббара и поставьте эту галочку.


#5

Я кодом не прописывал ему, когда я ставлю сигвей на vc, то таб бар исчезает, а когда на tab bar controller, то он не исчезает, но он открывает другой vc, который стоит первый в tab bar


#6

Мне кажется у вас проект не правильно построен.
От таббара к VC с типом Push и у этого VC поставить галочку Hide Bottom Bar on Push. Этого должно быть достаточно.

Еще у вас вижу со 2-о VC идет сигвей к 1-у VC. Если я правильно понимаю, это у вас что-то типо обратной связи сделано. Если так, то это не правильно.
Хотя у вас как-то слишком много сигвеев отовсюду ко всему. Возможно в этом и кроется проблема с отображением таббара.

P.S. Возможно я немного перепутал последовательность. После таббара, первый VC, это должен быть rootViewController для вашего TabBarController’a. А уже после него, сигвей на следующий VC должен быть Push и у него поставить эту галочку.
Т.к. первый VC не показывает у себя TabBar внизу, возможно не правильно подключили.


#7

сталкивался с чем-то похожим. Дело в том, что здесь оба VC используются без Navigation Controller. И если для первого в иерархии VC эту роль играет Tab Bar Controller, то там навигационная панель видна при условии, что переход осуществляется именно с Tab Bar на первый VC. Если же идти от других VC то панель исчезает, поскольку на этом VC, на который осуществляется переход, нет Navigation Controller. А если поставить сигвей на Tab Bar то конечно откроется первый VC после Tab Bar. В общем, если нужно, чтобы навигационная панель оставалась, то нужно использоваться для VC свой отдельный Navigation Controller.