美文网首页UI
iOS 系统导航栏闪烁问题

iOS 系统导航栏闪烁问题

作者: 原野de呼唤 | 来源:发表于2021-05-14 10:34 被阅读0次

之前技术群有人提出过这样的问题,但我写demo并没有复现。后来项目出现了同样的问题,iOS 12 上表现正常。现象如下图

系统导航栏显示异常

经过反复测试发现这个问题出现的条件是:

1、页面1的颜色差别较大

2、导航栏 isTranslucent = true

3、底部标签栏 isTranslucent = true

4、push的时候 hidesBottomBarWhenPushed = true

5、页面2 导航栏没有隐藏(这是废话),页面1 导航栏是否隐藏不重要

解决方法:

1、self.tabBar.isTranslucent = false

2、navigationController?.navigationBar.isTranslucent = false

3、hidesBottomBarWhenPushed = false

这三种解决方法限制比较大,算是一种解决思路吧,比如标签栏透明不重要的话就可以使用方法1

4、navigationController?.navigationBar.setBackgroundImage(UIColor.white.withAlphaComponent(0.8).toUIImage(), for: .default)

5、自定义导航栏

6、使用三方库解决,例如 YPNavigationBarTransition、KMNavigationBarTransition、RTRootNavigationController、QMUI等

KMNavigationBarTransition使用过程中发现有两个问题,我在GitHub上提了issues:

1、navigationController?.navigationBar.shadowImage 设置异常失效 有应对的方法

2、navigationBar.isTranslucent = true,页面背景色不同时跳转,会有闪烁 效果不如系统本身的效果,暂时没有应对方法

相关文章

  • iOS 系统导航栏闪烁问题

    之前技术群有人提出过这样的问题,但我写demo并没有复现。后来项目出现了同样的问题,iOS 12 上表现正常。现象...

  • UI细节问题

    1 iOS 导航栏导致scrollView类视图自动便宜问题 (iOS 11 导航栏 automaticallyA...

  • ios14导航栏背景图渐变 出现色差

    iphone11在ios14系统下导航栏高度变为92 导致导航栏渐变颜色 航导航栏下面不贴合出现色差!ios13...

  • iOS push/pop 导航栏闪烁问题

    出现的问题:两个页面导航栏颜色色差较大时,push和pop会导致导航栏有一个白色的背景闪烁一下 以下方法得到了解决...

  • iOS 去掉系统导航栏下面的黑色线

    iOS 去掉系统导航栏下面的黑色线

  • 导航栏和状态栏

    IOS状态栏和导航栏的控制问题

  • 升级xcode9 ios11遇到的问题及解决办法

    1. 导航栏titleView适配问题 导航栏搜索视图没有占满导航栏 iOS11 导航栏上的视图推荐使用autol...

  • iOS-导航栏,状态栏

    包括iOS状态栏,导航栏,TabBar,滑动手势问题等 1.超简单!!! iOS设置状态栏、导航栏按钮、标题、颜色...

  • 2018-04-09

    原文:IOS状态栏和导航栏的控制问题 IOS的项目多数会遇到控制状态栏和导航栏的问题,比如隐藏状态栏、控制状态栏的...

  • iOS 15 适配

    一年一系统,一年一适配。今天我们来讲一下iOS15适配的相关地方。导航栏适配iOS 15中,导航栏的问题比较明显,...

网友评论

    本文标题:iOS 系统导航栏闪烁问题

    本文链接:https://www.haomeiwen.com/subject/kmafjltx.html