具体情况:我的导航栏设置的是白色的,但是在iOS 13 的系统下,push过去的时候,会先变灰一下,然后正常。
那么这种情况出现的原因是什么?
猜想1:受到window背景颜色的影响
那么我就应该在 didFinishLaunchingWithOptions 中设置 window 的背景颜色,
`self.window.backgroundColor = [UIColor whiteColor];`
不是。
猜想2:生命周期的影响
因为我是在 viewWillAppear 中设置的背景色,所以会不会是在执行之前的颜色闪现出来。其实这个想法刚起来都觉得不对,viewWillAppear执行时,push的controllerView.view 应该展示的还是前一个。在viewload中试一下,不是完事。
结论:导航栏下的黑色线条类别发生变了
在iOS 13之前,展示 黑线的类别为 UIImageView
在iOS 13之后,类名变成了 _UIBarBackgroundShadowView
而我刚好是通过遍历到UIImageView 来隐藏 下方黑色线条,所以在 iOS 13之后隐藏的就不是之前的线条了
所以需要根据 系统版本 判断一下。