2017-02-24 149 views
4

由於UIApplication.shared.setStatusBarStyle(.default, animated: true)已從IOS9中棄用,是否可以更改狀態欄樣式動畫push?我無法在文檔中找到任何說明。用動畫改變狀態欄樣式

+0

UIApplication.shared.statusBarStyle = .lightContent你有沒有用這個 –

+0

這不會改變動畫 – Danny

回答

6

它現在你要覆蓋一個變量:

override var preferredStatusBarStyle: UIStatusBarStyle 
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation 

取決於當你更新狀態欄上,你也可能會要求setNeedsStatusBarAppearanceUpdate()

+0

如果你想設置狀態欄的風格吧它不是從UIViewController的 – Danny

+0

叫什麼名字? –

+0

in viewWillAppear – Danny

3

如果你想設置狀態欄樣式,應用然後在.plist文件中將UIViewControllerBasedStatusBarAppearance設置爲NO

,如果你婉設置狀態欄樣式,在視圖控制器的水平,那麼請按照下列步驟操作:

  1. .plist文件中設置UIViewControllerBasedStatusBarAppearanceYES,如果你需要在只的UIViewController級別設置狀態欄樣式。
  2. 在viewDidLoad中添加功能 - setNeedsStatusBarAppearanceUpdate

  3. 覆蓋preferredStatusBarStyle在您的視圖控制器。

-

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.setNeedsStatusBarAppearanceUpdate() 
} 

override var preferredStatusBarStyle: UIStatusBarStyle { 
    return .lightContent 
} 

集的.plist根據狀態欄樣式設置電平值。 enter image description here

+0

它沒有從UIViewController調用 – Danny