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

  • 问题还原
    公司项目中首页需要自定义一个导航栏,我的做法是在首页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时为什么会导致这两个问题,还不是很清楚,希望有明白的大神不吝赐教。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容