Как я могу скрыть панель навигации от первого ViewController или определенного ViewController в Swift?
Я использовал следующий код в viewDidLoad()
:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.isNavigationBarHidden = true
}
а также на viewWillAppear
:
override func viewWillAppear(animated: Bool) {
self.navigationController?.isNavigationBarHidden = true
}
Оба метода скрывают контроллер навигации от всех ViewControllers.
ios
swift
uinavigationcontroller
uinavigationbar
Аби Мэтью
источник
источник
Ответы:
Если вы знаете, что у всех других представлений панель должна быть видимой, вы можете использовать
viewWillDisappear
ее, чтобы снова увидеть.В Свифте:
источник
Свифт 3
источник
self.
не требуется.Вы можете показать
navigationController
вviewWillDisappear
Свифт 3
источник
Вы также можете создать расширение для этого, чтобы иметь возможность повторно использовать расширение, не применяя его снова и снова в каждом контроллере представления.
Таким образом, вы можете использовать методы расширения, как показано ниже
источник
В Swift 3 вы можете использовать свойство isNavigationBarHidden также для отображения или скрытия панели навигации.
источник
Способы отображения панели навигации в Swift:
источник
Способы скрыть панель навигации в Swift:
источник
но только когда он является частью UINavigationController
сделать это ложным, когда вы хотите его вернуть
источник
Я использую вариант выше, и изолирую разделы моего приложения для встраивания в разные NavControllers. Таким образом, мне не нужно сбрасывать видимость. Например, очень полезно в последовательности запуска.
источник
источник
Вызовите метод скрытия set in Появится и исчезнет. если вы не вызовете метод, вид исчезнет со статусом false. Он будет скрывать панель навигации в полной иерархии навигации
источник
Вы можете сделать это из оконного контроллера (Swift3)
источник