【问题标题】:Strange UINavigationItem behavior after using custom navigation transitioning animations使用自定义导航过渡动画后奇怪的 UINavigationItem 行为
【发布时间】:2015-10-02 01:01:21
【问题描述】:

我正在做一个自定义 UINavigationController 弹出过渡动画。 但是有一个奇怪的错误,我做了一个示例项目来演示这个问题(取自https://github.com/objcio/issue5-view-controller-transitions

一个基于导航的应用,2 个视图控制器。

第一个viewController在navigationBar上有2个bar button item,一个在view中间的按钮可以推送到第二个viewController。

第二个 viewController 有一个左栏按钮项可以弹出到第一个 viewController。

如果第二个视图控制器被拖到不到 50%,我的自定义动画会取消过渡,如果超过 50%,它会完成过渡,弹出 viewController。 (和系统默认一样)

但是,如果转换被取消,第一个视图控制器上的导航项将被覆盖。

“返回”项将出现在第一个视图控制器上,右侧栏按钮项将消失。

这是演示视频:https://youtu.be/qg2lUKsNtzk

并且源码在github上:https://github.com/JohnnyTseng/issue5-view-controller-transitions

有人能指出问题出在哪里吗?我整天都在调试这个问题。谢谢!

【问题讨论】:

    标签: ios objective-c animation uinavigationcontroller


    【解决方案1】:

    在 iOS 7 Apple 添加新的默认导航行为。您可以从屏幕的左边框滑动以返回导航堆栈。

    您可以通过将此代码放入应用程序委托中来阻止这种情况。

     if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
            self.navigationController.interactivePopGestureRecognizer.enabled = NO;
        }
    

    你可以在这里阅读更多内容interactive pop gesture of navigation view controller

    【讨论】:

      猜你喜欢
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 2017-12-06
      • 2014-03-04
      • 2012-06-01
      相关资源
      最近更新 更多