使用如下:
CATransition *transaction=[CATransition animation];
//设置动画执行时间
[transaction setDuration:1.0];
//转场类型
[transaction setType:kCATransitionPush];
//设置转场方向
[transaction setSubtype:kCATransitionFromTop];
//设置转场动画执行的速度类型
transaction.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[self.view.layer addAnimation:transaction forKey:@"fffff"];
说明:
转场类型type有
kCATransitionFade, 渐渐的出
kCATransitionMoveIn, 新的移动出现
kCATransitionPush, 新的移动出现,原来的被推出去
kCATransitionReveal,原来的移动出去
@"cube", 3d翻转
@"suckeffect", 渐渐的出
@"oglFlip",正中间翻转
@"rippleEffect", 水波纹
@"pageCurl”,翻书
@"pageUnCurl”,反转翻书
@"cameraIrisHollowOpen”,相机打开
@"cameraIrisHollowClose"相机关闭
转场方向subtype:kCATransitionFromRight,kCATransitionFromLeft,kCATransitionFromTop,kCATransitionFromBottom
转场执行速度效果timingFunction:默认是匀速执行可以;使用的是CAMediaTimingFunction对象;创建该对象使用functionWithName:方法,其中系统提供的有
CA_EXTERN NSString * const kCAMediaTimingFunctionLinear //匀速执行完成整个动画
CA_EXTERN NSString * const kCAMediaTimingFunctionEaseIn //加速执行
CA_EXTERN NSString * const kCAMediaTimingFunctionEaseOut //减速执行
CA_EXTERN NSString * const kCAMediaTimingFunctionEaseInEaseOut //先加速后减速执行
CA_EXTERN NSString * const kCAMediaTimingFunctionDefault //匀速执行