您的位置:首页 > 移动开发 > IOS开发

ios学习--详解IPhone动画效果类型及实现方法

2014-03-28 11:05 821 查看
详解IPhone动画效果类型及实现方法是本文要介绍的内容,主要介绍了iphone动画的实现方法,不多说,我们一起来看内容。

实现iphone漂亮的动画效果主要有两种方法,一种是UIView层面的,一种是使用CATransition进行更低层次的控制.

1、UIView

CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:1.0];          //动画持续的时间

//这里添加你对UIView所做改变的代码

//[UIView setAnimationDidStopSelector:@selector(animationFinished:)];   //动画停止后,执行某个方法
[UIView commitAnimations];


2、UIView(使用Cocoa Touch)

CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:1.0];

// Cocoa Touch
[UIView setAnimationTransition: UIViewAnimationTransitionCurlUp forView:myView cache:YES];

[UIView setAnimationDelegate:self];
//[UIView setAnimationDidStopSelector:@selector(animationFinished:)]; //动画停止后,执行某个方法
[UIView commitAnimations];
动画方式(UIViewAnimationTransition):
UIViewAnimationTransitionFlipFromLeft              //从左向右翻转
UIViewAnimationTransitionFlipFromRight             //从右向左翻转
UIViewAnimationTransitionCurlUp                    //从下向上翻页
UIViewAnimationTransitionCurlDown                  //从上向下翻页


3、CATransition

CATransition *animation = [CATransition animation];
animation.delegate = self;
animation.duration = 1.0f;       //动画执行时间
animation.timingFunction = UIViewAnimationCurveEaseInOut;
animation.type = kCATransitionFade;
animation.subtype = kCATransitionFromRight;

// 这里添加你对UIView所做改变的代码

[[myView layer] addAnimation:animation forKey:@"animation"];


setType:有四种类型:

kCATransitionFade                   //交叉淡化过渡
kCATransitionMoveIn               //移动覆盖原图
kCATransitionPush                    //新视图将旧视图推出去
kCATransitionReveal                //底部显出来


setSubtype:有四种类型:

kCATransitionFromRight;
kCATransitionFromLeft(默认值)
kCATransitionFromTop;
kCATransitionFromBottom
注:kCATransitionFade 不支持Subtype


4、CATransition(只使用setType,参数是NSString)

CATransition *animation = [CATransition animation];
animation.delegate = self;
animation.duration = 1.0f;   //动画执行时间
animation.timingFunction = UIViewAnimationCurveEaseInOut;
animation.type = @"suckEffect";// 这里添加你对UIView所做改变的代码
[[myView layer] addAnimation:animation forKey:@"animation"];


可以用的效果主要有:

pageCurl     //向上翻一页
pageUnCurl   //向下翻一页
rippleEffect   //滴水效果
suckEffect     //收缩效果,如一块布被抽走
cube       //立方体效果
oglFlip      //上下翻转效果


小结:详解IPhone动画效果类型及实现方法的内容介绍完了,希望本文对你有所帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: