我正在做一个自定义UINavigationController弹出过渡动画。 但是有一个奇怪的错误,我已经做了一个示例项目来证明这个问题(取自https://github.com/objcio/issue5-view-controller-transitions)
基于导航的应用,2个视图控制器。
第一个viewController在navigationBar上有2个按钮项,在视图中间有一个按钮,可以推送到第二个viewController。
第二个viewController有一个左栏按钮项目,用于弹出第一个viewController。
如果第二个视图控制器的拖动率低于50%,我的自定义动画将取消转换,如果它超过50%,它将完成转换,弹出viewController。 (就像系统默认值一样)
但是,如果转换被取消,第一个视图控制器上的导航项将被覆盖。
"返回"项目将出现在第一个视图控制器上,右侧的条形按钮项目将消失。
这是要展示的视频:https://youtu.be/qg2lUKsNtzk
源代码在github上:https://github.com/JohnnyTseng/issue5-view-controller-transitions
有人可以指出问题出在哪里吗?我整天都在调试这个问题。谢谢!
答案 0 :(得分:0)
在iOS 7 Apple中添加新的默认导航行为。您可以从屏幕的左边框滑动以返回导航堆栈。
您可以通过将此代码放在应用程序委托中来阻止此操作。
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
你可以在这里阅读更多interactive pop gesture of navigation view controller