记一个iOS状态栏颜色Bug修复

最近测试给我提了个bug,我们的ReactNative插件的状态栏颜色总是在进入插件后一会被改变,最近任务比较多,但也没办法,只能想想怎么修了,虽然最终只改了一行代码就解决了,但是还是花了不少时间的,在此记录下。

当时修复的时候感觉没有头绪,状态栏颜色设置是在基类VC实现的,App进入插件后也不会去主动修改状态栏颜色,这不符合逻辑!
而且国内App没有这个问题,海外有,但是我印象中的国内海外的这部分逻辑应该是一致的,这就更不符合逻辑了。
当时觉得可能是ReactNative代码改了,和插件确认下,她也没改,锅没甩出去。

最后仔细分析发现,进入插件后,被盖住的页面的viewDidAppear又被调用了,被盖住的页面的父类的viewDidAppear里面实现了状态栏颜色设置,导致插件状态栏颜色不对。
为什么被盖住的页面的viewDidAppear会被调用呢,进一步分析发现,JXPagingView在push进入其他vc后,触发了被盖住的页面的viewDidAppear,这么设计是不符合VC生命周期的,但由于时间关系我没细看他为什么这么写。
那为什么国内App没有这个问题,海外有,发现海是外版的首页VC没有继承基类VC,之前看到这里觉得这不合理就给他改了,简单测试一下,也没发现问题,没想到这里有个这么大的坑等着我。

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

相关阅读更多精彩内容

友情链接更多精彩内容