Status bar style

Status bar style

一般在 iOS 裡頭,status bar style 可以被分成兩種

  • default
  • lightContent

設定方式

我們可以在 info.plist 做全域的設定,讓整個 app 在執行的時候,都是同樣的 style;
這取決於
View controller-based status bar appearance - YES / NO
若設為 NO,則是整個 app 都會是同樣的 style;
而若設為 YES,就能在個別的 viewController 來做設定。

View controller-base status bar appearance - YES

實作方式是更改 UIViewController 底下的 preferredStatusBarStyle
而因為它是 { get } 的,所以我們只能透過覆寫的方式來更改:

UINavigationController

如果你要更改的 UIViewController 是包在 UINavigationController 裡頭的話,
則需要更改的是 UINavigationController preferredStatusBarStyle
而非是當前的 UIViewController

動態更改

當我們執行 setNeedsStatusBarAppearanceUpdate(),可以讓系統再去讀一次 preferredStatusBarStyle,並更改狀態;
所以若要做更改的動畫,則可以在 UIView.animated 裡頭執行 self.setNeedsStatusBarAppearanceUpdate()

Archie

An iOS developer with Swift.

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Bitnami