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()

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s