【问题标题】:UINavigationBar custom transition animationUINavigationBar 自定义过渡动画
【发布时间】:2014-03-04 00:49:46
【问题描述】:

我使用以下协议在视图控制器之间创建了自定义转换:

UIViewControllerAnimatedTransitioningUIViewControllerTransitioningDelegate

是否可以使用默认的UINavigationBar 为标题创建自定义过渡,现在它们只是在视图控制器之间交叉淡入淡出,还是我必须从头开始构建自己的导航栏视图?

【问题讨论】:

    标签: ios uiviewcontroller uikit uinavigationbar


    【解决方案1】:

    WWDC 2013 video #218 表示所有自定义过渡都会交叉淡入淡出导航栏,并且无法自定义此行为。

    【讨论】:

    • 感谢您确认 :) 我不确定我是否只是在谷歌上搜索错误,因为我无法得到任何结果。
    • 有一个网站可以转录所有 wwdc 会话。您可以在此处找到 218 会话的转录:asciiwwdc.com/2013/sessions/218
    • 知道这是否已经改变了吗? UIBarButtonItemsUIBarButtonItems是不是还没有办法自定义转场动画?
    • 很遗憾,从那以后就没有改变过。
    • 所以,这可能是不好的做法,但至少改变交叉淡入淡出的持续时间的半解决方法是将transitionDuration时间间隔设置为您想要的交叉淡入淡出,并手动使用实际动画的不同持续时间。我有一个 0.65 的 transitionDuration 并且淡入淡出看起来很糟糕,所以我将它设置为 0.2,现在看起来更好了。
    【解决方案2】:

    如果您的过渡既是自定义的又是交互式的,那么您可以从 UIViewControllerTransitionCoordinator 获得一些好处。
    Here

    例如,在作为“To”(目标)vc 的视图控制器的viewWillAppear 中:

    [[self transitionCoordinator] animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
    
        // mess around with stuff here
    
    } completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {
    
        // all done now
    }];
    

    【讨论】:

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