【问题标题】:How can I use custom UIViewController transitions to achieve this?如何使用自定义 UIViewController 转换来实现这一点?
【发布时间】:2014-06-25 18:15:24
【问题描述】:

所以我的应用程序中有一个流程,其中所有视图控制器都具有相同的渐变背景(使用 UIImageView)。

我以模态方式向它们中的每一个呈现交叉溶解过渡,而不是使用导航控制器,因为我不想要水平推送/弹出过渡。有一个更好的方法吗?也许使用导航控制器并禁用推送/弹出动画并且只是将 UI 元素淡入/推送到视图中?

我希望它看起来背景不会在工作流程中发生变化,但每个视图控制器的 ui 元素/内容确实会发生变化。

【问题讨论】:

    标签: ios iphone objective-c cocoa-touch


    【解决方案1】:

    如果动画相当容易做,您可以提供自定义推送/弹出动画。:

    [UIView animateWithDuration:0.75
                             animations:^{
                                 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
                                 [self.navigationController pushViewController:nextView animated:NO];
                                 [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
                             }];
    
    [UIView animateWithDuration:0.75
                             animations:^{
                                 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
                                 [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO];
                             }];
    [self.navigationController popViewControllerAnimated:NO];
    

    Source.


    如果动画不是那么简单,如果您不需要导航栏,以模态方式呈现您的视图控制器是非常好的,但您必须提供自己的 popToViewController:animated: 等效项(因为我不需要知道任何方法可以解除多个视图控制器)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多