一. 狀態(tài)欄的設(shè)置
iOS上狀態(tài)欄就是指的最上面的20像素高的部分,狀態(tài)欄分前后兩部分。
前景部分:就是指的顯示電池,時(shí)間等部分;
背景部分:就是顯示黑色或者圖片的背景部分。
1.設(shè)置statusBar 的前景部分。就是設(shè)置顯示電池電量/時(shí)間/網(wǎng)絡(luò)部分標(biāo)示的顏色,只能設(shè)置兩種顏色:默認(rèn)顏色(UIStatusBarStyleDefault),白色(UIStatusBarStyleLightContent).
兩種方法設(shè)置:plist文件設(shè)置和 程序代碼設(shè)置。
方法一:
plist:(全局設(shè)置最有效果) 在plist文件中添加一個(gè)屬性 View controller-based status bar appearance 設(shè)置為 NO
代碼設(shè)置:
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
方法二:
plist:
View controller-based status bar appearence 設(shè)置YES或者默認(rèn)(就是不設(shè)置)。注意:如果View controller-based status bar appearence為YES 則[UIApplication sharedApplication].statusBarStyle 在工程里面設(shè)置就是無效的。
代碼設(shè)置:
self.navigationController.navigationBar.barStyle = UIBarStyleBlock;
或者在控制器中重寫preferredStatusBarStyle 方法,修改狀態(tài)欄顏色
- (UIStatusBarStyle)preferredStatusBarStyle{
// return UIStatusBarStyleLightContent;
return UIStatusBarStyleDefault;
}
- 設(shè)置statusBar的背景部分
方法一:系統(tǒng)提供的方法
navigationBar的setBarTintColor 接口,用此接口可改變statusBar的背景色,此方法是純粹的背景顏色設(shè)置,但是此時(shí)的狀態(tài)欄顏色仍然是默認(rèn)的黑色
self.navigationController.navigationBar.barTintColor = [UIColor greenColor];
如果想將狀態(tài)欄和導(dǎo)航欄字體全變?yōu)榘咨?,這樣設(shè)置
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
此行代碼能將狀態(tài)欄和導(dǎo)航欄字體顏色全體改變,只能是黑色或白色。
如果只想改變導(dǎo)航欄的字體顏色,可以這樣
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]}];
以及可以改變字體大小 或者設(shè)置背景顏色
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor],NSFontAttributeName:[UIFont systemFontOfSize:25]}];