iOS 更改状态栏/导航栏颜色的几种实用方法
實際開發需求:
?這樣代碼之后
導航欄顏色白色,但是狀態欄沒有顯示?
這樣寫之后,導航欄和狀態欄都是白色
?
?
一. 狀態欄的設置
iOS上狀態欄就是指的最上面的20像素高的部分,狀態欄分前后兩部分。
前景部分:就是指的顯示電池,時間等部分;
背景部分:就是顯示黑色或者圖片的背景部分。
1.設置statusBar 的前景部分。就是設置顯示電池電量/時間/網絡部分標示的顏色,只能設置兩種顏色:默認顏色(UIStatusBarStyleDefault),白色(UIStatusBarStyleLightContent).
兩種方法設置:plist文件設置和 程序代碼設置。
方法一:
plist:(全局設置最有效果) 在plist文件中添加一個屬性 View controller-based status bar appearance 設置為 NO
代碼設置:
方法二:
plist:
View controller-based status bar appearence 設置YES或者默認(就是不設置)。注意:如果View controller-based status bar appearence為YES 則[UIApplication sharedApplication].statusBarStyle 在工程里面設置就是無效的。
代碼設置:
或者在控制器中重寫preferredStatusBarStyle 方法,修改狀態欄顏色
- (UIStatusBarStyle)preferredStatusBarStyle{// return UIStatusBarStyleLightContent;return UIStatusBarStyleDefault; }方法一:系統提供的方法
navigationBar的setBarTintColor 接口,用此接口可改變statusBar的背景色,此方法是純粹的背景顏色設置,但是此時的狀態欄顏色仍然是默認的黑色
如果想將狀態欄和導航欄字體全變為白色,這樣設置
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;此行代碼能將狀態欄和導航欄字體顏色全體改變,只能是黑色或白色。
如果只想改變導航欄的字體顏色,可以這樣
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]}];以及可以改變字體大小 或者設置背景顏色
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor],NSFontAttributeName:[UIFont systemFontOfSize:25]}];
?
總結
以上是生活随笔為你收集整理的iOS 更改状态栏/导航栏颜色的几种实用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js开发实例 —— 发送短信验证码倒计时
- 下一篇: 佳博usb打印机开钱箱