0

出于某种原因,我想在情节提要中为我的 segue 过渡制作一个自定义推送动画,而不是从右向左推送,而是从左向右推送,我开发了一个自定义 segue,它使用以下代码执行此操作:

UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
UIViewController *destinationController = (UIViewController*)[self destinationViewController];

CATransition* transition = [CATransition animation];
transition.duration = .25;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade
transition.subtype = kCATransitionFromLeft; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom



[sourceViewController.navigationController.view.layer addAnimation:transition
                                                            forKey:kCATransition];

[sourceViewController.navigationController pushViewController:destinationController animated:NO];

问题是,当单击下一个视图中的后退按钮时,segue 动画是默认动画并且尚未更改(它应该是从右到左,但它显示从左到右,这是默认动画)

我也应该如何改变动画?

4

1 回答 1

0

其实是我的错,UIStoryboardSegue 无法控制后退动画,因为它属于 uiviewcontroller 弹出动画!出于我的目的,我应该为我的场景编写自定义流行动画。

于 2013-04-18T12:28:11.903 回答