Скрыть UINavigationBar 3D Touch

Я пытаюсь в 3D смотреть и вставлять элементы в UITableView. Все работает нормально, кроме целевого ViewController имеет UINavigationBar, который также показывает.

Я добавил свой UINavigationBar в мой код ViewController через Interface Builder и установил self.navBar.isHidden в true который скрывает UINavigationBar, но оставляет пустое пространство равным размеру UINavigationBar.

Кто-нибудь знает, как правильно спрятать UINavigationBar?

Примечание: я не использую UINavigationController, я просто добавил UINavigationBar в свой ViewController перетаскиванием.

1 ответ

целевой ViewController имеет UINavigationBar, который также показывает

Используйте настоящий UINavigationController плюс UITableViewController (в качестве его корневого контроллера представления). Это отличный способ иметь панель навигации, даже если вы никогда не собираетесь делать какую-либо навигацию.

Вот большое преимущество этого: вам даже не нужно скрывать панель навигации, когда вы смотрите! Используйте только UITableViewController в качестве заглядывающего контроллера навигации и UINavigationController при всплывающем окне. Таким образом, в предварительном просмотре не будет никакой навигационной панели, но если пользователь нажимает до упора, и вы делаете реальный переход, у нового контроллера представления будет навигационная панель. Помните, ни один закон не гласит, что контроллер просмотра в режиме просмотра должен быть таким же, как контроллер просмотра в режиме поп-просмотра!

Другие вопросы по тегам