美文网首页
iOS 在Push过程中导航条蓝色返回按钮一闪而过

iOS 在Push过程中导航条蓝色返回按钮一闪而过

作者: 東玖零 | 来源:发表于2020-06-12 15:24 被阅读0次

    背景:App导航条上的按钮都是自定义的,很诡异的是在自动Push过程中导航条蓝色返回按钮一闪而过,退出页面点击进入一切又都正常。

    平时都是天天忙着写业务,对技术没有特别深的研究,要学习学习。。。

    先看看API点到UINavigationItem里仔细一看,backBarButtonItem这个熟悉的属性出现了,想起来这个属性很早以前都用过,我们为什么不把自定义的按钮放到backBarButtonItem而是放到leftBarButtonItems上呢?

    思考了片刻,backBarButtonItem是系统自带苹果自己在用,哪天苹果升级改一改,我们之前写的代码不生效了,那就凉凉了,说白了就是它存在着不可控性。

    遇到问题就解决问题,开始我在想猜想是因为我的自定义按钮的代码放到了viewDidLoad的方法里,而这个方法是在导航条渲染之后才执行的??

    那我们就放在loadView里提前一步,实践后无效,问题还是存在,再查了查API看到leftItemsSupplementBackButton这个属性,实践得出它为YES时系统按钮是一直展示的,NO时会被leftBarButtonItems所覆盖,还是没有解决我们的问题。

    那我们初始化一个空的按钮返回赋值给backBarButtonItem。

    navigationItem.backBarButtonItem = UIBarButtonItem()
    

    蓝色文字消失了,但蓝色的返回箭头还在,百度了一下解决方案如下:

    navigationBar.backIndicatorImage = UIImage()
    navigationBar.backIndicatorTransitionMaskImage = UIImage()
    

    思路就是先干返回文字,再把蓝色的箭头换成透明的或着没有图片。

    相关文章

      网友评论

          本文标题:iOS 在Push过程中导航条蓝色返回按钮一闪而过

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