iOS修改每个页面系统状态栏文字颜色。

2018-01-16  本文已影响21人  雨洒潇湘

前言

最近项目有需求,需要在状态栏,导航栏透明的情况下状态栏文字颜色为白色。系统默认是黑色。看了几篇文章,说的都是启动的时候,在顶部的时候。很多都没有说到点子上。我们需要每个页面可以控制,甚至根据根据页面的偏移量控制。

修改方法

注意下面我说的前提是使用系统导航栏的情况下,请勿死板硬套。
首先在Info.plist文件中添加View controller-based status bar appearance键值对,bool类型,设置成NO。
在需要修改的页面中的-(void)viewWillAppear:(BOOL)animated 方法中加入 [UIApplication sharedApplication].statusBarStyle=UIStatusBarStyleLightContent;(白色情况)。在- (void)viewWillDisappear:(BOOL)animated方法中 中加入 [UIApplication sharedApplication].statusBarStyle=UIStatusBarStyleDefault;(默认黑色)。
这样当进入此页面时。状态栏文字颜色为白色。离开时为默认黑色。
如果该界面可滑动可在- (void)scrollViewDidScroll:(UIScrollView *)scrollView 代理方法中根据偏移量更改状态栏文字颜色。

文章参考

(ios 状态栏statusBar的背景颜色)这个文章还好,就是少了对Info.plist的设置。

上一篇下一篇

猜你喜欢

热点阅读