Como ocultar uma barra de navegação do primeiro ViewController ou de um determinado ViewController rapidamente?
Eu usei o seguinte código em viewDidLoad()
:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.isNavigationBarHidden = true
}
e também em viewWillAppear
:
override func viewWillAppear(animated: Bool) {
self.navigationController?.isNavigationBarHidden = true
}
Ambos os métodos ocultam o controlador de navegação de todos os ViewControllers.
ios
swift
uinavigationcontroller
uinavigationbar
Aby Mathew
fonte
fonte
Respostas:
Se você souber que todas as outras visualizações devem ter a barra visível, use-a
viewWillDisappear
para defini-la como visível novamente.Em Swift:
fonte
Swift 3
fonte
self.
não é necessária.Você pode reexibir
navigationController
emviewWillDisappear
Swift 3
fonte
Você também pode criar uma extensão para isso, para poder reutilizá-la sem implementá-la repetidamente em todos os controladores de exibição.
Então você pode usar os métodos de extensão como abaixo
fonte
No Swift 3, você pode usar a propriedade isNavigationBarHidden também para mostrar ou ocultar a barra de navegação
fonte
Maneiras de mostrar a barra de navegação no Swift:
fonte
Maneiras de ocultar a barra de navegação no Swift:
fonte
mas somente quando faz parte de um UINavigationController
torná-lo falso quando você quer de volta
fonte
Eu uso uma variante do exposto acima e isolo seções do meu aplicativo para serem incorporadas em diferentes NavControllers. Dessa forma, não preciso redefinir a visibilidade. Muito útil em sequências de inicialização, por exemplo.
fonte
fonte
Chame o método de ocultar definido na exibição Aparecerá e desaparecerá. se você não chamar o método em exibição desaparecerá com status false. Ocultará a barra de navegação na hierarquia de navegação completa
fonte
Você pode fazer isso no controlador de janela (Swift3)
fonte