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