如何使用自定义UIViewController转换来实现此目的?

时间:2014-06-25 18:15:24

标签: ios iphone objective-c cocoa-touch

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

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

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

1 个答案:

答案 0 :(得分:0)

如果动画很容易,你可以提供自定义的推/动画动画。:

[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:(因为我不知道如何解雇多个视图控制器)。