关于iOS导航控制器隐藏和显示会出现返回键失效,导航栏标题动画异常

 

最近做的demo  bug出现了,我觉得这个bug出现得很经典所以贴出来给大家看看,

bug演示就是:点击返回键失效出现如下gif图演示的内容

 

 

为啥会出现如此奇葩的bug,系统的返回键居然失效了,尴尬症又犯了,愣是点了很久也不知所措

bug出现的源头:从不隐藏导航栏进行手势返回的时候,手势返回一半松手,回到不隐藏导航栏的页面,在push其他页面,就会出现返回键失效的问题

出现bug的重要步骤:手势返回一半又松手

 

 

进行页面隐藏导航栏的代码如下

    //显示导航栏
    [self.navigationController setNavigationBarHidden:NO animated:NO];
    //隐藏导航栏
    [self.navigationController setNavigationBarHidden:YES animated:NO];

 

个人认为出现该bug的原因就是手势返回的时候  导航栏的页面是有动画效果的(可以拿其他app试试),页面的标题和按钮都会渐变

而隐藏导航栏和显示导航栏的代码设置的animated是NO,所以手势返回就会冲突,而使整个导航控制器页面和返回键出现问题呢

 

解决的办法很简单,只要将NO设置为YES就好

    //显示导航栏
    [self.navigationController setNavigationBarHidden:NO animated:YES];
    //隐藏导航栏
    [self.navigationController setNavigationBarHidden:YES animated:YES];

 

完美解决该bug,不会再来~~

 

转载于:https://www.cnblogs.com/coderYu/p/5859710.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值