如何改變狀態(tài)欄的顏色

原文鏈接:https://www.ioscreator.com/tutorials/change-color-status-bar-tutorial
作者:Arthur Knopper
原文日期:2016/12/29
譯者:Crystal Sun

狀態(tài)欄可以有兩種外觀:dark(黑色) 和 light(白色)。在本章教程中,將學習如何改變狀態(tài)欄的外觀。本節(jié)教程使用的是 Xcode 8.0 和 iOS 10。

打開 Xcode,創(chuàng)建一個 Single View Application。

Product Name 使用 IOS10StatusBarColorTutorial,填寫自己的 Organization Name 和 Organization Identifier,Language 一欄選擇 Swift,Devices 一欄選擇 iPhone。

打開 Storyboard,選中 View,在 Attributes Inspetor 里將 Background Color 改成 Light Gray。運行工程,默認的狀態(tài)欄顏色是黑色(dark)。

而我們想要實現(xiàn)的效果是白色的狀態(tài)欄。打開 ViewController.swift 文件,添加下列代碼:

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

上述代碼將 UIStatusBarStyle 枚舉項設為 lightContent。運行工程,這時狀態(tài)欄的顏色變成了白色(light)。

接下來回到 Storyboard,選中 View Controller,在 Editor 菜單中選擇 Embed in Navigation Controller。選中 Navigation Bar,在 Attribute Inspector 里將 Bar Tint color 設置為 red。storyboard 應該如下圖所示。

運行工程,狀態(tài)欄又變成了黑色,也就是默認狀態(tài)。產(chǎn)生這個問題的原因是,iOS 請求的是 navigation controller 的狀態(tài)欄風格,不是 navigation controller 所包含的 controller 的風格。

為了改變 Navigation controller 的風格(style),需要在 AppDelegate.swift 文件里如下修改代碼:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
        
    UINavigationBar.appearance().barStyle = .blackOpaque
    return true
}

運行工程,這時狀態(tài)欄的顏色變成了白色。

可以從 github 上下載 IOS10StatusBarColorTutorial 教程的源代碼。

本文由 SwiftGG 翻譯組翻譯,已經(jīng)獲得作者翻譯授權。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,433評論 4 61
  • 作者:Arthur Knopper,原文鏈接,原文日期:2016/12/29譯者:Crystal Sun;校對:w...
    梁杰_numbbbbb閱讀 564評論 0 0
  • GitHub地址:chameleon star: 12000+ Swift 3 To use the Swift ...
    獨木舟的木閱讀 8,510評論 0 8
  • 看了一部日劇,覺得女主很好看。然而周圍的人不覺得。懷疑她們的審美。 小學妹造反了! 她們我:學姐,你是要升天么?(...
    忽爾今至閱讀 201評論 0 0
  • 正念練習:正念說話 正念說話,是一種帶著智慧的說話方式,重要的是留意我們說此話背后的意圖。有時需要暫停,深深感受自...
    悠悠然a閱讀 203評論 0 0

友情鏈接更多精彩內(nèi)容