Bagaimana saya bisa menyembunyikan bilah navigasi dari ViewController pertama atau ViewController tertentu di swift?
Saya menggunakan kode berikut di viewDidLoad()
:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.isNavigationBarHidden = true
}
dan juga pada viewWillAppear
:
override func viewWillAppear(animated: Bool) {
self.navigationController?.isNavigationBarHidden = true
}
Kedua metode menyembunyikan pengontrol navigasi dari semua ViewControllers.
ios
swift
uinavigationcontroller
uinavigationbar
Aby Mathew
sumber
sumber
Jawaban:
Jika Anda tahu bahwa semua tampilan lain akan membuat bar terlihat, Anda dapat menggunakannya
viewWillDisappear
untuk mengaturnya agar terlihat lagi.Dalam Swift:
sumber
Cepat 3
sumber
self.
tidak diperlukan.Anda dapat unhide
navigationController
diviewWillDisappear
Cepat 3
sumber
Anda juga dapat membuat ekstensi untuk ini sehingga Anda akan dapat menggunakan kembali ekstensi tanpa menerapkannya lagi dan lagi di setiap pengontrol tampilan.
Jadi Anda bisa menggunakan metode ekstensi seperti di bawah ini
sumber
Di Swift 3, Anda dapat menggunakan properti isNavigationBarHidden juga untuk menampilkan atau menyembunyikan bilah navigasi
sumber
Cara untuk menampilkan Bilah Navigasi di Swift:
sumber
Cara untuk menyembunyikan Bilah Navigasi di Swift:
sumber
tetapi hanya ketika itu merupakan bagian dari UINavigationController
buatlah itu salah ketika Anda menginginkannya kembali
sumber
Saya menggunakan varian di atas, dan mengisolasi bagian dari aplikasi saya untuk disematkan di NavControllers yang berbeda. Dengan cara ini, saya tidak perlu mengatur ulang visibilitas. Sangat berguna dalam urutan startup, misalnya.
sumber
sumber
Panggil metode setel sembunyikan dalam tampilan Akan muncul dan Hilang. jika Anda tidak akan memanggil metode dalam tampilan akan menghilang dengan status false.It akan menyembunyikan bilah navigasi dalam hierarki navigasi lengkap
sumber
Anda dapat melakukannya dari pengontrol jendela (Swift3)
sumber