1. 程式人生 > >ios設置狀態欄樣式

ios設置狀態欄樣式

記得 content dst clas 默認 改變 一行 ret roc

1、第一種方式:

  • (1)在App生命周期裏面設置

    • 設置狀態欄字體為白色
    - [[UIApplication ? sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];
    • 設置狀態欄字體為黑色
    - [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
    • 當然直接設置是無效果的,需要在plist裏面設置View controller-based status bar appearance 為No
    • 設置完後發現問題解決了。然而控制臺會打印一行代碼:Status bar could not find cached time string image. Rendering in-process,而且是定時打印,有沒有很惡心,如果感覺沒問題想省事的也可以不管,畢竟app沒有崩潰,對於追求完美的人(貌似要得罪人)建議使用第二種方法。

2、第二種方式

  • (1)在試圖控制器中重寫- (UIStatusBarStyle)preferredStatusBarStyle方法。

    • 該方法返回是一個UIStatusBarStyle,只要重寫該方法,當前視圖控制器的狀態欄顏色就會改變。
    • 記得plist裏面設置View controller-based status bar appearance 為YES(這個是默認的設置,如果設置為No的話記得刪掉或改為YES)。
    • 建議將這個方法封裝在一個父基類裏面,所有的控制器都繼承這個父類就好了。
    - (UIStatusBarStyle)preferredStatusBarStyle {
        return UIStatusBarStyleLightContent;
    }

ios設置狀態欄樣式