UIView 动画

[size=large][/size]需要在frameworks中添加QuartzCore.framework

在接口程序中加上头文件#import<QuartzCore/QuartzCore.h>

方法一:CATransition

创建transition

CATransition*transition=[CATransitionanimation];

transition.duration=1.0f;/*间隔时间*/

transition.timingFunction=[CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut];/*动画的开始与结束的快慢*/

transition.type=@"rippleEffect";/*各种动画效果*/

//@"cube"@"moveIn"@"reveal"@"fade"(default)@"pageCurl"@"pageUnCurl"@"suckEffect"@"rippleEffect"@"oglFlip"

transition.subtype=kCATransitionFromRight;/*动画方向*/

transition.delegate=self;

[navigationController.view.layer/*在想添加CA动画的VIEW的层上添加此代码*/addAnimation:transitionforKey:nil];

//另外加一句,transition在申请时用的是+方法,所以不需要自己进行release,在层上添加后不要认为retainCount已经+1,就还要release

//降效果作用到view的层上面

//实际上CATransition类中还有一个属性是removedOnCompletion,是此动画执行完后会自动remove,默认值为true

//降效果作用到view的层上面

[self.view.layeraddAnimation:transitionforKey:@"animation"];

方法二:UIViewAnimation

//开始一个动画块

[UIViewbeginAnimations:@"animationID"context:nil];

//设置动画块中的动画持续时间(用秒)

[UIViewsetAnimationDuration:0.5f];

//设置动画块中的动画属性变化的曲线

[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];

//变化曲线还有

(UIViewAnimationCurveEaseInOut,//slowatbeginningandend

UIViewAnimationCurveEaseIn,//slowatbeginning

UIViewAnimationCurveEaseOut,//slowatend

UIViewAnimationCurveLinear)

//设置动画块中的动画效果是否自动重复播放。

[UIViewsetAnimationRepeatAutoreverses:NO];

//设置动画在动画模块中的重复次数

//setAnimationRepeatCount:

//设置动画消息的代理。

[UIViewsetAnimationDelegate:self];

[UIView

//设置消息给动画代理当动画开始的时候

setAnimationWillStartSelector:@selector(resizeAnimationWillStart:context:)];

[UIView

//设置消息给动画代理当动画停止的时候

setAnimationDidStopSelector:@selector(resizeAnimationDidStop:finished:context:)];

//将效果作用在指定的view

[UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.viewcache:YES];

效果还有(UIViewAnimationTransitionFlipFromLeft,UIViewAnimationTransitionFlipFromRight,UIViewAnimationTransitionCurlUp,UIViewAnimationTransitionCurlDown)

//显示在最前面

[self.viewexchangeSubviewAtIndex:1withSubviewAtIndex:0];

//结束动画

[UIViewcommitAnimations];

相关推荐