美文网首页iOS定制viewiOS 开发 iOS程序猿
解决自定义导航栏导致系统导航栏消失的问题

解决自定义导航栏导致系统导航栏消失的问题

作者: WhisperKarl | 来源:发表于2016-06-29 15:46 被阅读630次
    • 问题还原
      公司项目中首页需要自定义一个导航栏,我的做法是在首页viewWillAppear中写上self.navigationController.navigationBarHidden = YES,在从首页推到的二级页的viewWillAppear中写上self.navigationController.navigationBarHidden = NO。那么问题来了,第一个问题是在二级页通过右划手势退回上一页的时候系统导航栏立马消失,和页面消失不同步,如图所示:
      1.png
      而正常的效果应该是这样的:
    4.png

    第二个问题是,当右划返回到一半时取消,再从二级页推到下一个页面时,第三个页面的导航栏会消失,进而显示二级页的导航栏。

    • 解决办法
      把首页的self.navigationController.navigationBarHidden = YES方法替换为[self.navigationController setNavigationBarHidden:YES animated:YES],两个问题都得以解决。至于用self.navigationController.navigationBarHidden = YES时为什么会导致这两个问题,还不是很清楚,希望有明白的大神不吝赐教。

    相关文章

      网友评论

      • 超_iOS:解决没?
      • 李国安:可以看看我这边有一篇关于导航栏的文章, 前一阵我也遇到了相同的问题,欢迎探讨!:+1:

      本文标题:解决自定义导航栏导致系统导航栏消失的问题

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