push 时导航栏变灰一下

具体情况:我的导航栏设置的是白色的,但是在iOS 13 的系统下,push过去的时候,会先变灰一下,然后正常。

图·中间闪过的状态

那么这种情况出现的原因是什么?

猜想1:受到window背景颜色的影响

那么我就应该在 didFinishLaunchingWithOptions 中设置 window 的背景颜色,

`self.window.backgroundColor = [UIColor whiteColor];`

不是。

猜想2:生命周期的影响

因为我是在 viewWillAppear 中设置的背景色,所以会不会是在执行之前的颜色闪现出来。其实这个想法刚起来都觉得不对,viewWillAppear执行时,push的controllerView.view 应该展示的还是前一个。在viewload中试一下,不是完事。

结论:导航栏下的黑色线条类别发生变了

在iOS 13之前,展示 黑线的类别为 UIImageView

图·13之前

在iOS 13之后,类名变成了 _UIBarBackgroundShadowView

图·13之后

而我刚好是通过遍历到UIImageView 来隐藏 下方黑色线条,所以在 iOS 13之后隐藏的就不是之前的线条了

所以需要根据 系统版本 判断一下。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近生活过的很安逸,很享受,自从远离大城市,所有的生活节奏仿佛被放慢。 我慢慢练字,慢慢写文,慢慢走路,慢慢生活。...
    顾州州阅读 278评论 1 5
  • 陕西的天空现在下雨了 我还惦记着宁夏的你有没有盖好被子 听着窗外的风声 我还念着你刚才答应我说的睡觉 想给你写一封...
    酒后一场雨阅读 89评论 0 1
  • 人的生命只有一次 一个人的生命应当这样度过 当他回忆往事的时候 不要因虚度年华而悔恨 更不要因碌碌无为而羞愧 ...
    想起有诗意的名字阅读 187评论 0 0