出于某些原因,我想在故事板中为我的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];问题是,当下一个视图中的后退按钮被点击时,分段动画是默认的,并且它没有被改变(它应该是从右到左,但它却显示从左到右,这是默认的)
我也应该怎么改回动画呢?
发布于 2013-04-18 20:28:12
其实是我的错,UIStoryboardSegue对后台动画没有控制,因为它属于because控制器的流行动画!为了我的目的,我应该为我的场景编写自定义的流行动画。
https://stackoverflow.com/questions/15974149
复制相似问题