ios基礎:iOS改變狀態欄字體顏色

1.iOS7之前採用的方法

UIApplication對象設置(需要更改plist文件中View controller-based status bar appearance選項設置爲NO,默認爲YES)

第一步就是取plist中把這個選項改成NO,我知道這一大串東西根本記不住!找到Supporting Files->info.plist,右鍵後選Add Row 就會出現第二個頁面,它會提供很多屬性,一直往下,最後一個就是View controller-based status bar appearance,這樣就不用記這個東西了。

當然改完這個後,你會發現並沒有什麼卵用。還需設置UIApplication對象,具體代碼如下:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];//設置狀態欄字體爲白色[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];//設置狀態欄字體爲黑色


2.iOS7以後採用的方法

在試圖控制器中重寫- (UIStatusBarStyle)preferredStatusBarStyle方法。該方法返回是一個UIStatusBarStyle,只要重寫該方法,當前視圖控制器的狀態欄顏色就會改變,例如模態視圖。

這個方法看似簡單,但是要想在導航控制器中使用,還是要注意很多細節。因爲很多APP的中都是有導航欄的,這也是導航欄跟狀態欄一起講解的原因。

先簡單介紹一下UINavigationController,剛接觸這個的時候,都是大概能懂,大概能用,真的要融會貫通還是有很大的難度。


- (UIStatusBarStyle)preferredStatusBarStyle {

return UIStatusBarStyleLightContent;

}


3.設置導航欄的背景顏色來改變

前兩種方法是可以不通過導航欄來設置狀態欄字體顏色。這裏介紹的這個方法也是簡單粗暴,同樣是在同一個UINavigationController中,

- (void)viewWillAppear:(BOOL)animated

{

[super viewWillAppear:animated];

self.navigationController.navigationBar.hidden = YES;

self.navigationController.navigationBar.barStyle = UIStatusBarStyleLightContent;

}

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