iOS 更改状态栏/导航栏颜色的几种实用方法
實(shí)際開(kāi)發(fā)需求:
?這樣代碼之后
導(dǎo)航欄顏色白色,但是狀態(tài)欄沒(méi)有顯示?
這樣寫(xiě)之后,導(dǎo)航欄和狀態(tài)欄都是白色
?
?
一. 狀態(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è)置:
方法二:
plist:
View controller-based status bar appearence 設(shè)置YES或者默認(rèn)(就是不設(shè)置)。注意:如果View controller-based status bar appearence為YES 則[UIApplication sharedApplication].statusBarStyle 在工程里面設(shè)置就是無(wú)效的。
代碼設(shè)置:
或者在控制器中重寫(xiě)preferredStatusBarStyle 方法,修改狀態(tài)欄顏色
- (UIStatusBarStyle)preferredStatusBarStyle{// return UIStatusBarStyleLightContent;return UIStatusBarStyleDefault; }方法一:系統(tǒng)提供的方法
navigationBar的setBarTintColor 接口,用此接口可改變statusBar的背景色,此方法是純粹的背景顏色設(shè)置,但是此時(shí)的狀態(tài)欄顏色仍然是默認(rèn)的黑色
如果想將狀態(tài)欄和導(dǎo)航欄字體全變?yōu)榘咨?#xff0c;這樣設(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]}];
?
總結(jié)
以上是生活随笔為你收集整理的iOS 更改状态栏/导航栏颜色的几种实用方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: js开发实例 —— 发送短信验证码倒计时
- 下一篇: 佳博usb打印机开钱箱