2011-11-11 43 views
0

我已经开始为iOS编程几个星期,所以我不知道它是如何完成的,但我想为我的segues使用其他转换样式。就像屏幕翻转的那个一样,给你的印象是目标视图控制器在第一个的背面。我想我必须继承UIStoryboardSegue,但除此之外,我不知道该从哪里去。使用segue的其他转换样式

谢谢你的时间!

回答

0

好的我看起来不够远。选择您想要自定义的segue,并且有一个“过渡”样式选项。

1

您可以在自定义Segue中使用CATransition来实现任何类型的转换。这里是示例代码。

-(void)perform { 

__block UIViewController *sourceViewController = (UIViewController*)[self sourceViewController]; 
__block 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];  


} 

你访问这个链接查看更多细节http://blog.jambura.com/2012/07/05/custom-segue-animation-left-to-right-using-catransition/