ios 9和iOS11 NavigationBar结构的差别

1.发现问题

最近在处理导航栏渐变的时候,不是自定义新的导航栏,隐藏原有的导航栏
而是对原有的导航栏进行处理,发现以前的处理方式除了问题,同时网上下载的很多demo在iOS11中也有很多问题,整理了一天的时间也没有完全处理好,

  • 原因: 影响导航栏显示的原因就是导航栏有个毛玻璃效果的view,这个东西是导致直接修改导航栏滑动渐变出现bug的凶手.
  • 问题一: 直接修改UINavigationBar.barTintColor,在pop侧滑返回的时候,导航栏会闪一下,这是个bug
  • 问题二: 直接遍历UINavigationBar的子控件,去隐藏这个毛玻璃,iOS11处理成功了,但是真机iOS9却没有效果,问题如下

2.导航栏在不同系统上的差异

iOS9导航栏的结构
这里写图片描述

iOS11导航栏的结构
这里写图片描述

如果通过遍历隐藏毛玻璃view,修改其他view的背景色的时候,不同系统之间就不兼容了

github和cocoachina也下载了不少demo

github和cocoachina也下载了不少demo ,在iOS11上,push下一个控制器,在pop回来的时候,大部分都不正常了,要么是闪了一下,要么是pop后,导航栏不是透明的了,

忘牛人给予指导

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值