iOS 修改狀態欄preferredStatusBarStyle不執行問題

1、在老版本的iOS中,狀態欄永遠都是白色風格。而在iOS 7中,咱們能夠修改每一個view controller中狀態欄的外觀。經過UIStatusBarStyle常量能夠指定狀態欄的內容是暗色或亮色。默認狀況下,狀態欄的顯示是暗色。也就是說,狀態欄上的時間、電池指示器和Wi-Fi信號顯示爲暗色。若是導航欄中使用暗色爲背景,那麼看起來的效果以下圖所示:app

如上圖這種狀況下,咱們可能但願將導航欄的風格修改成亮色。這裏有兩個方法能夠實現。在iOS 7中,咱們能夠在每一個view controller中overridingpreferredStatusBarStyle:方法,以下所示:3d

- (UIStatusBarStyle)preferredStatusBarStyle {     
    return UIStatusBarStyleLightContent; 
}

PS:此法的只有在設置瞭如下代碼纔會被調用(對於preferredStatusBarStyle不執行問題):code

[self.navigationController.navigationBar setBarStyle:UIBarStyleBlack];

上面代碼的效果以下圖所示:blog

2、在iOS 7中,經過上面的方法來修改狀態欄風格很是的棒。另外,咱們也能夠使用UIApplication的statusBarStyle方法來設置狀態欄,不過,首先須要中止使用View controller-based status bar appearance。在project target的Info tab中,插入一個新的key,名字爲View controller-based status bar appearance,並將其值設置爲NO。get

而後就能夠使用下面的代碼來設置狀態欄風格了:io

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
相關文章
相關標籤/搜索