如何在不同的controller下設置不同的狀態欄顏色

上篇說的是將應用中所有的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

原文  http://blog.csdn.net/gaoyp/article/details/38441723




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章