上篇說的是將應用中所有的controller下的狀態欄都設置成淺色(或者白色),但在實際項目中有時候會根據需要將不同的controller場景下的狀態欄設置成不同的顏色風格,那麼就要根據具體的情況在相應的controller下單獨進行額外的設置。
下面借鑑網友的一篇帖子說明一下,先給出不同的效果圖:
圖一:
圖二:
圖一展示的是白色背景下的黑色默認標題欄狀態,圖二則是在深色背景下的白色標題欄狀態;
具體的做法就是,首先在info.list中添加兩個屬性,一個是
另一個是:
設置好兩個變量後,如果不做其他代碼修改,那麼所有的controller的狀態欄的顏色都是淺色的。
根據實際需求,在appdelegate中添加代碼
[UIApplicationsharedApplication].statusBarStyle =UIStatusBarStyleLightContent;//設置全部爲白色;
然後在需要特殊處理的controller的viewWillAppearance方法中添加如下代碼:
[UIApplicationsharedApplication].statusBarStyle =UIStatusBarStyleDefault;//將格式恢復爲默認的黑色狀態
然後在該controller的viewWillDisappear方法中添加:
[UIApplicationsharedApplication].statusBarStyle =UIStatusBarStyleLightContent;//再次調整爲白色樣式。
以上是整個的設置流程,如果上面info.list的第二個屬性沒有添加並設置爲NO,則後面做的樣式改變將都不會生效。
最後附上網友的經驗分享,感謝前輩的分享~~
http://www.tuicool.com/articles/vIbMry