iOS动画浅析-CATransition

CATransition 


CATransition实现了layer的过渡动画。也就是说是控制layer的过渡动画类。

我们可以通过CATransition来实现我们特定的过渡动画。也可以通过一个自定义的CIFilter实体来实现过渡动画。


CATransition相关属性


endProgress

@property float endProgress

定义过渡的结束点

结束点的值必须大于或者等于开始点。

默认值为1.0


startProgress

@property float startProgress


定义过度的开始点

开始点的值必须小于或者等于结束点。

默认值为0.0


这两个属性是float类型的。

可以控制动画进行的过程,可以让动画停留在某个动画点上,值在0.01.0之间。endProgress要大于等于startProgress

比如:立方体转,可以设置endProgress= 0.5,让动画停留在整个动画的特定位置(停止在旋转一般的状态)


filter

@property(retain) CIFilter *filter


为动画添加一个可选的滤镜。

如果指定,那么指定的filter必须同时支持xy,否则该filter将不起作用。

默认值为nil

如果设置了filter,那么,为layer设置的typesubtype属性将被忽略。

该属性只在iOS 5.0以及以后版本被支持。


subtype

@property(copy) NSString *subtype

指定预定义的过渡方向。

默认为nil

如果指定了filter,那么该属性无效。


预定义的过渡方向为:

NSString * const kCATransitionFromRight;

NSString * const kCATransitionFromLeft;

NSString * const kCATransitionFromTop;

NSString * const kCATransitionFromBottom;

分别表示:过渡从右边、左边、顶部、底部 开始。


type

@property(copy) NSString *type


指定预定义的过渡效果。

默认为kCATransitionFade

如果指定了filter,那么该属性无效。


预定义的过渡效果:

NSString * const kCATransitionFade;

NSString * const kCATransitionMoveIn;

NSString * const kCATransitionPush;

NSString * const kCATransitionReveal;


分别表示:淡出、覆盖原图、推出、从底部显示。


注意:

还有很多私有API效果,使用的时候要小心,可能会导致app审核不被通过(悲剧啊,为啥有却不让用啊!好东西不应该被束之高阁!):


fade     //交叉淡化过渡(不支持过渡方向)

push     //新视图把旧视图推出去

moveIn   //新视图移到旧视图上面

reveal   //将旧视图移开,显示下面的新视图

cube     //立方体翻滚效果

oglFlip  //上下左右翻转效果

suckEffect   //收缩效果,如一块布被抽走(不支持过渡方向)

rippleEffect //滴水效果(不支持过渡方向)

pageCurl     //向上翻页效果

pageUnCurl   //向下翻页效果

cameraIrisHollowOpen  //相机镜头打开效果(不支持过渡方向)

cameraIrisHollowClose //相机镜头关上效果(不支持过渡方向)



希望对你有所帮助!

你可能感兴趣的:(iOS动画浅析-CATransition)