前言
最近項(xiàng)目有需求,需要在狀態(tài)欄,導(dǎo)航欄透明的情況下狀態(tài)欄文字顏色為白色。系統(tǒng)默認(rèn)是黑色??戳藥灼恼?,說的都是啟動(dòng)的時(shí)候,在頂部的時(shí)候。很多都沒有說到點(diǎn)子上。我們需要每個(gè)頁面可以控制,甚至根據(jù)根據(jù)頁面的偏移量控制。
修改方法
注意下面我說的前提是使用系統(tǒng)導(dǎo)航欄的情況下,請(qǐng)勿死板硬套。
首先在Info.plist文件中添加View controller-based status bar appearance鍵值對(duì),bool類型,設(shè)置成NO。
在需要修改的頁面中的-(void)viewWillAppear:(BOOL)animated 方法中加入 [UIApplication sharedApplication].statusBarStyle=UIStatusBarStyleLightContent;(白色情況)。在- (void)viewWillDisappear:(BOOL)animated方法中 中加入 [UIApplication sharedApplication].statusBarStyle=UIStatusBarStyleDefault;(默認(rèn)黑色)。
這樣當(dāng)進(jìn)入此頁面時(shí)。狀態(tài)欄文字顏色為白色。離開時(shí)為默認(rèn)黑色。
如果該界面可滑動(dòng)可在- (void)scrollViewDidScroll:(UIScrollView *)scrollView 代理方法中根據(jù)偏移量更改狀態(tài)欄文字顏色。
文章參考
(ios 狀態(tài)欄statusBar的背景顏色)這個(gè)文章還好,就是少了對(duì)Info.plist的設(shè)置。