我们正在尝试在我们的应用程序中添加两个视图之间的交互式过渡。我们可以让它在 iOS 7 或 iOS 8 上正常工作不显示导航栏。但是,我们需要显示一个导航栏。为了演示我们遇到的(一些)问题,我创建了一个小型原型,屏幕截图如下所示。我尝试了 UIPercentDrivenInteractiveTransition 但发现足够多的帖子声称它有问题,所以我摆脱了它。
Source: https://github.com/xaphod/TransitionBugger https://github.com/xaphod/TransitionBugger
这是 iOS 8 上的样子,带有导航控制器,但导航栏设置为不在故事板中显示:它工作正常
这是完全相同的东西,但显示了导航栏。当有导航栏时,不知何故,在转换完成后,toViewcontroller 中没有收到任何触摸(请注意 UIButton 如何没有收到触摸事件):
也许很能说明问题的是,导航栏似乎处于损坏状态。观察如果我让应用程序后台运行并返回到其中会发生什么 - 导航栏状态发生变化:仅当应用程序进入前台时,“项目”栏按钮才会更改为“返回”。为什么会发生这种情况?
我在 stackoverflow、objc.io 和其他地方阅读了至少 12 篇文章,其中有很多建议的解决方案和教程等。我们已经尝试了所有这些帖子,包括这些线程:
使用 UIViewControllerContextTransitioning “从视图控制器”消失 https://stackoverflow.com/questions/24338700/from-view-controller-disappears-using-uiviewcontrollercontexttransitioning/25655575#25655575(我们的主应用程序遇到的另一个问题)
自定义转换后无法识别触摸 https://stackoverflow.com/questions/22300050/touches-not-recognized-after-custom-transition
... but 它们仅在没有显示导航栏时起作用.
我们如何在 iOS 8 上使用导航栏进行交互式转换?非常感谢所有帮助。