2015-02-28 2 views

ответ

89

Вы можете просто использовать это в своем методе ViewDidLoad().

self.tabBarController?.tabBar.hidden = true 

Для быстрой версии 3.0:

self.tabBarController?.tabBar.isHidden = true 

Или вы можете изменить Z позицию панели вкладок таким образом:

self.tabBarController?.tabBar.layer.zPosition = -1 

и если вы хотите, чтобы показать его снова, то:

self.tabBarController?.tabBar.layer.zPosition = 0 
+2

Dharmesh, спасибо за ответ. Это успешно скрывает панель вкладок, но тогда представление таблицы не заполняет экран. Он просто черный, где должна быть панель вкладок. Наверное, есть еще один шаг, чтобы сделать его подходящим для экрана? – Robert

+2

Добавьте ограничения для этого. –

+0

Хорошо, спасибо за помощь! – Robert

36

Перед нажатием множества controller.hidesBottomBarWhenPushed = истина

let objCreateEventVC = CreateEventVC() 
objCreateEventVC.hidesBottomBarWhenPushed = true 
self.navigationController?.pushViewController(objCreateEventVC, animated: false) 
+0

Thx, hidesBottomBarWhenPushed мне очень помогает. –

64

Общепринятые ответ работает, но переход на другой взгляд имеет изменчивую анимацию, связанную с панелью вкладок.

Также хотелось добавить, что решение Kalpesh отлично работало для меня, я обнаружил, что каждый контроллер вида имеет атрибут для hidesBottomBarWhenPached (проверьте раскадровку.) Если вы хотите скрыть панель вкладок, вы должны пометить это. И это отлично работает.

enter image description here

Обновление: Я не уверен, если это известная вещь, но вот то, что яблоко документации страница говорит:

A view controller added as a child of a navigation controller can display an optional toolbar at the bottom of the screen. The value of this property on the topmost view controller determines whether the toolbar is visible. If the value of this property is true, the toolbar is hidden. If the value of this property is false, the bar is visible.

Я думаю, что это означает, что вы должны установите основное значение hidesBottomBarWhenPushed на верхнем контроллере представления (первый в стеке навигации). После того, как вы установили значение true, вы можете изменить на false или true для другого vie wcontrollers в стеке. Но, если ваше значение hidesBottomBarWhenPushed в вашем верхнем представлении контроллера будет ложным, оно не отобразит панель вкладок для других контроллеров в стеке навигации.

+2

вот что мы должны делать. Гораздо лучше, чем другие ответы, если вы просто хотите скрыть это, пока вы представляете ViewController – Gabox

+0

, почему это не работает в Swift 4 ?? Я уже отмечаю эту опцию, но она по-прежнему появляется, когда я перехожу к этому контроллеру определенного вида. – ken

+0

@ken проверяет обновление, возможно, это может помочь –

2

Swift 3.

self.tabBarController?.tabBar.isHidden = true 
6

Нет необходимости устанавливать свойство IsHidden TabBar в.

Просто перейдите в ViewController (в StoryBoard) -> Инспектор атрибутов -> В разделе «Контроллер просмотра» установите флажок «Скрыть нижнюю панель на Push». Это работает как шарм.

Если вы идете на «isHidden», вам нужно много обрабатывать, т. Е. Снова появляться, когда вы возвращаетесь назад, а также удалять нижнее пустое пространство после скрытия tabBar.

+1

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

+0

мне тоже :) Спасибо! – Tejas

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