標籤:ima 問題 black sel pre nav images status har
一、在老版本的iOS中,狀態列永遠都是白色風格。而在iOS 7中,我們可以修改每個view controller中狀態列的外觀。通過UIStatusBarStyle常量可以指定狀態列的內容是暗色或亮色。預設情況下,狀態列的顯示是暗色。也就是說,狀態列上的時間、電池指標和Wi-Fi訊號顯示為暗色。如果導覽列中使用暗色為背景,那麼看起來的效果如所示:
如這種情況下,我們可能希望將導覽列的風格修改為亮色。這裡有兩個方法可以實現。在iOS 7中,我們可以在每個view controller中overridingpreferredStatusBarStyle:
方法,如下所示:
- (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; }
PS:此法的只有在設定了以下代碼才會被調用(對於preferredStatusBarStyle不執行問題):
[self.navigationController.navigationBar setBarStyle:UIBarStyleBlack];
上面代碼的效果如所示:
二、在iOS 7中,通過上面的方法來修改狀態列風格非常的棒。另外,我們也可以使用UIApplication的statusBarStyle方法來設定狀態列,不過,首先需要停止使用View controller-based status bar appearance
。在project target的Info tab中,插入一個新的key,名字為View controller-based status bar appearance
,並將其值設定為NO。
然後就可以使用下面的代碼來設定狀態列風格了:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
iOS 修改狀態列preferredStatusBarStyle不執行問題