Tüm önerileri okuduktan ve birkaç şey denedikten sonra, aşağıdaki adımları kullanarak belirli görünüm denetleyicileri için çalışabilirim:
İlk adım:
Senin info.plist açın ve "adında yeni bir anahtar eklemek Görünüm denetketiyicili durum çubuğu görünümü için" NO
İkinci Adım (Sadece bir açıklama, bunu uygulamaya gerek yok):
Normalde AppDelegate uygulamasının (_: didFinishLaunchingWithOptions :) yöntemine aşağıdaki kodu koyarız,
Hızlı 2
UIApplication.sharedApplication().statusBarStyle = .LightContent
Hızlı 3
UIApplication.shared.statusBarStyle = .lightContent
ancak bu tüm ViewControllers öğelerini etkiler statusBarStyle.
Peki, bunu belirli ViewControllers için nasıl çalıştırabilirsiniz - Son Adım:
Değiştirmek istediğiniz viewcontroller dosyasını açın ve statusBarStyleaşağıdaki kodu viewWillAppear(),
Hızlı 2
UIApplication.sharedApplication().statusBarStyle = .LightContent
Hızlı 3
UIApplication.shared.statusBarStyle = .lightContent
Ayrıca, ilgili viewWillDisappear()viewController için yöntemi uygulayın ve aşağıdaki kod satırlarını ekleyin,
Hızlı 2
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.Default
}
Hızlı 3
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.statusBarStyle = UIStatusBarStyle.default
}
Bu adım önce statusBarStylebelirli bir görünüm denetleyicisi için değiştirilecek ve daha sonra defaultbelirli bir görünüm denetleyicisi yok olduğu zamana geri dönecektir . Uygulanmaması viewWillDisappear()değişecek statusBarStyleyeni tanımlanan değere kalıcıUIStatusBarStyle.LightContent
Status bar is initially hidden = YESİnfo.plist dosyasında ayarlarsanız , "Denetleyici tabanlı durum çubuğu görünümünü görüntüle = HAYIR" durum çubuğunun gizlenmesine neden olacağını unutmayın.