我需要一個白色的狀態欄爲我的主要初始ViewController,但也能夠隱藏在另一個ViewController。我可以做一個或另一個,但不能同時做。有什麼建議麼?iOS設置狀態欄白色,並隱藏在另一個ViewController
我將它設置爲白色由 的Info.plist
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
設置
基於控制器的視圖狀態欄的外觀關鍵NO並隱藏它(在另一個ViewController模態地呈現)我呢,
override func prefersStatusBarHidden() -> Bool { return statusBarHidden }
但是它不會隱藏,除非我刪除了我之前添加到Info.plist的密鑰,但是如果我刪除了密鑰,那麼狀態欄會回到黑色。
編輯,我的解決方案: 視圖控制器類沒有在我的情況下工作,因爲我有嵌入導航控制器的主視圖控制器,我的修補程序是覆蓋相同的方法,但對於導航控制器,而不是有問題的視圖控制器。
extension UINavigationController { public override func preferredStatusBarStyle() -> UIStatusBarStyle { return .LightContent } }
哪個版本的Xcode是你的工作嗎?我的意思是swift3或更早版本? – Rajat
swift 2.2,xcode 7.3 ...還需要留在xcode7.3中一段時間。 – sweepez
不要爲此使用Info.plist。使用提供的視圖控制器方法。 – matt