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

前言

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

修改方法

注意下面我说的前提是使用系统导航栏的情况下,请勿死板硬套。
首先在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的设置。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容