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 statusBarStyle
aş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 statusBarStyle
belirli bir görünüm denetleyicisi için değiştirilecek ve daha sonra default
belirli bir görünüm denetleyicisi yok olduğu zamana geri dönecektir . Uygulanmaması viewWillDisappear()
değişecek statusBarStyle
yeni 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.