【发布时间】:2015-10-10 20:01:40
【问题描述】:
我们正在尝试在我们的应用中添加两个视图之间的交互式过渡。我们可以让它在 iOS 7 上正常工作,或者在 iOS 8 上不显示导航栏。但是,我们需要显示一个导航栏。为了演示(部分)我们遇到的问题,我创建了一个小原型,截图如下所示。我尝试了 UIPercentDrivenInteractiveTransition,但发现有足够多的帖子声称它有问题,所以我摆脱了它。
来源:https://github.com/xaphod/TransitionBugger
这是它在 iOS 8 上的样子,带有一个导航控制器,但导航栏设置为不在情节提要中显示:它工作正常
这是完全相同的内容,但显示了导航栏。当有导航栏时,不知何故在转换完成后 toViewcontroller 中没有收到任何触摸(注意 UIButton 没有收到触摸事件):
也许说明导航栏似乎处于损坏状态。观察如果我将应用程序置于后台并返回到它会发生什么 - 导航栏状态发生变化:“项目”栏按钮仅在应用程序进入前台时才会更改为“返回”。为什么会这样?
我已经阅读了至少 12 篇关于 stackoverflow、objc.io 和其他地方的帖子,其中包含许多建议的解决方案和教程等。我们都尝试过,包括这些帖子:
"From View Controller" disappears using UIViewControllerContextTransitioning(我们的主应用遇到的另一个问题)
Touches not recognized after custom transition
...但它们仅在没有显示导航栏时起作用。
我们如何在 iOS 8 上使用导航栏制作交互式过渡?非常感谢所有帮助。
【问题讨论】:
标签: ios objective-c cocoa-touch