狀態欄的顏色在我的應用程序我有4個視圖控制器,並在他們兩個我從白色更改狀態欄黑色這樣的:迅速IOS試圖改變某些VC的
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.Default
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().statusBarStyle = .LightContent
}
的問題是如果我在兩個ViewController之間切換,它們都具有上面的代碼,狀態欄將首先變爲黑色,這是正確的,但是當它進入另一個ViewController時,它會再次變爲白色。
如何在某些ViewController上保持狀態欄爲白色?
這也需要在項目的info中添加'基於視圖控制器的狀態欄外觀'鍵到on/YES。 plist'文件,並且可能需要在應用程序的根視圖控制器子類上定製實現' - (UIViewController *)childViewControllerForStatusBarStyle;',這取決於您的視圖層次結構 – markedwardmurray
這並不奏效,因爲@markedwardmurray說過。但我不能使用'''覆蓋func viewWillAppear(animated:Bool){'''在每個VC中都有''''''''''''''''''''''''' – user2722667
你會想到,但是改變視圖控制器之間狀態欄的全局狀態有很多特性。使用基於視圖控制器的狀態欄外觀更加可靠。在iOS 10中,在UIViewController上重寫的獲取器實際上將被製作爲完整的屬性。全球外觀方法是從應用程序預期具有單一顏色方案的日子開始的,無論是明亮的還是黑暗的。在應用程序啓動之後,按頻率切換它並不奏效 – markedwardmurray