老师你好,之前有研究过一个关于RN的状态栏显示的问题。
就是ios在首页会预加载一个RN的view(是为了跳到这个界面不会闪一下,更改数据,view是缓存在内存中)
(1).因为RN的view初始化时,会调用RN自己改变状态栏颜色的方法,而导致主页的状态栏会变成预加载View的状态栏颜色,为什么RN把我主页的状态栏的颜色改了?
(2).在(1)的基础上,如果在主页去做状态栏的颜色改变,变回原来的颜色,则要在预加载RNView 1秒后(RN改变状态栏异步,不延时则Application.share.statusBarStly设置颜色不生效),如果用preferredStatusBarStyle设置,RN会报错,RCTStatusBarManager module requires that the UIViewControllerBasedStatusBarAppearance key in the Info.plist is set to NO,
只有用上一种方法改变状态栏.
(3).都做按上述的回到主页颜色的改变,如果主页有另外一个RN界面,进入RN界面,则RN不能用自己原生的去设置状态栏,并且返回主页时,状态栏总是会变成主页预加载RNView的状态栏颜色(而不是后面延时在主页设置的颜色)
总的来说,就是想问有什么方案可以让iOS原生的状态栏,不会受到RNView的设置状态栏颜色所影响,完全隔离开来。