iOS导航栏隐藏后出现BUG

一共有①②③三个页面,①push②,②push③。
正常左上角返回没有问题。
当加上边缘滑动返回时,③pop②,②pop①。
如果三个页面都显示导航栏也没有问题。

我这里①是隐藏导航栏的,②③是显示导航栏的。这样就会出BUG了。
当从②左侧边缘往右滑动时,如果只是稍微动一下,而没有返回到①
(就是露出一点①页面之后,赶紧往往左滑,确保还停留在②页面)
这时就出问题了,②页面的导航栏没了,③的也没了。

这时只要返回到①页面重新进入就行了。如果说这个BUG影响不大。
但是还是存在一个更严重的BUG,这个着实令我着急啊。
当出现上面这个BUG后,重新从①进入②,没问题。
接着从②进入③,③的title就变成了②的title,③左上角的返回按钮也不管用了,导航栏出现严重的错乱。

有知道这个问题怎么破的吗?(这是苹果的问题,还是我哪里写的不对啊?)

你考虑下交互性的问题

你的隐藏显示导航栏的代码应该是写在viewWillAppear里的吧
当2界面侧滑一点点的时候 系统会自动调用1界面的viewWillAppear 你可以打断点看一下 因此导航栏消失了.
解决的方法可以有很多,打断点看下在侧滑时 各界面viewwillApear viewdidappear viewwilldisappear viewdiddisappear 的调用情况.
知道问题在哪就好解决了

你的隐藏导航栏的代码是不是self.navigationController.navigationBarHidden = YES;如果是的话,换成self.navigationController.navigationBar.hidden = YES;试一下。第一种隐藏导航栏的代码只对本控制器起作用。

在VC的生命周期方法加断点看看方法的调用是什么样的,都执行了啥方法,然后你就明白了。苹果sdk没有问题的,兄弟

这个问题我遇到过,需要在界面1的viewWillAppear 隐藏导航栏 在界面23的viewWillAppear 显示导航栏

这个都是在生命周期隐藏的,不知道你怎么操作的

楼主解决了这个问题了嘛?我最近也碰到这个问题

楼主问题解决了么?我也遇到了这个问题,并且不是经常会遇到,只是偶尔会遇到。

楼主,你的第一个问题解决了,第二个问题解决了么?我也遇到了,有时候第三个导航会变成第二个的

楼主您好,我描述一下我的代码和问题。
在页面1的viewwillappear中写了这句代码[self.navigationController setNavigationBarHidden:YES animated:animated];隐藏导航栏;
在页面2的viewwillappear中写了这句代码[self.navigationController setNavigationBarHidden:NO animated:animated];显示导航栏。
(我也按照您上面说的方法,将animated改成YES,但还是会出现下面的bug)
问题是这样的:首先页面1push到页面2;从页面2返回页面1时,利用系统自带的边缘返回手势滑动返回,没有点击导航栏返回按钮。返回到一半又不返回。所以页面还是停留在页面2.但是有时候页面2的导航栏就会消失。
不知道和楼主遇到的是否是一个问题,求楼主指导一下。

我的问题跟状态栏有关。状态栏前后一致就不会有这个问题了。

你那个严重bug我也出现 不过是出现在13之前 13之后不会出现 而且我是用模态➕导航栏,按理说是问题的但是实际就是出现问题