iOS 8 +交互式转换+导航栏显示=已损坏?

我们正试图在两个视图之间的应用程序中添加一个交互式转换。 我们可以在iOS 7或iOS 8上正常工作, 而不显示导航栏 。 但是,我们需要显示一个导航栏。 为了演示(一些)我们遇到的问题,我创build了一个小的原型,其截图如下所示。 我尝试了UIPercentDrivenInteractiveTransition,但发现有足够的post声称它有问题,我摆脱了它。

来源 : https : //github.com/xaphod/TransitionBugger

这是它在iOS 8上看起来像一个导航控制器,但导航栏设置不显示在故事板:它工作正常

适用于不带导航栏的iOS 8

这里是完全一样的东西,但显示的导航栏。 当有一个导航栏,那么在转换完成后,在toViewcontroller中没有接收到触摸(注意UIButton没有得到一个触摸事件):

在iOS 8上用导航条破坏

也许有人说,导航栏似乎处于破碎状态。 观察如果我背景的应用程序,回到它的后果 – 导航栏状态的变化:只有当应用程序到达前台时,“项目”栏button变成“后退”。 为什么会这样呢?

导航栏在应用程序后台更改

我已经阅读了至less12个post在stackoverflow,objc.io和其他地方有很多build议的解决scheme和教程等我们已经尝试了所有,包括这些线程:

“从视图控制器”消失使用UIViewControllerContextTransitioning (另一个问题,我们的主要应用程序正在)

在自定义转换后触摸不到

…但只有在没有显示导航栏的情况下才能工作

我们如何使iOS 8上的导航栏与交互式转换工作? 所有的帮助非常感谢。

我们最终不再使用UINavigationControllerDelegate方法,因为我们需要转换的视图来覆盖标签栏。 当我们转向模态全屏转换方法时,这个问题就解决了。