CATransition 转场动画
转场动画就是从一个场景以动画的形式过渡到另一个场景,navigation的push就是一种转场方式(后面会介绍如何自定义)。
转场动画一般分为这几个步骤:
(1)初始化转场动画
(2)设置转场类型属性等
(3)设置转场后的新视图并添加动画到图层
下表列出了常用的转场类型(注意私有API是苹果官方没有公开的动画类型,但是目前通过仍然可以使用):
公开API
| 动画类型 |
说明 |
对应常量 |
是否支持方向设置 |
| fade |
淡出效果 |
kCATransitionFade |
是 |
| movein |
新视图移动到旧视图上 |
kCATransitionMoveIn |
是 |
| push |
新视图推出旧视图 |
kCATransitionPush |
是 |
| reveal |
移开旧视图显示新视图 |
kCATransitionReveal |
是 |
私有API———-私有API只能通过字符串访问
| 动画类型 |
说明 |
对应常量 |
是否支持方向设置 |
| cube |
立方体翻转效果 |
无 |
是 |
| oglFlip |
翻转效果 |
无 |
是 |
| suckEffect |
收缩效果 |
无 |
否 |
| rippleEffect |
水滴波纹效果 |
无 |
否 |
| pageCurl |
向上翻页效果 |
无 |
是 |
| pageUnCurl |
向下翻页效果 |
无 |
是 |
| cameralIrisHollowOpen |
摄像头打开效果 |
无 |
否 |
| cameraIrisHollowClose |
摄像头关闭效果 |
无 |
否 |
另外对于支持方向设置的动画类型还包含子类型
| 动画子类型 |
说明 |
| kCATransitionFromRight |
从右侧转场 |
| kCATransitionFromLeft |
从左侧转场 |
| kCATransitionFromTop |
从顶部转场 |
| kCATransitionFromBottom |
从底部转场 |
下面是一个小例子:
1 2 3 4 5 6 7 8 9
| CATransition *transition = [CATransition animation]; transition.duration = 1.0f; transition.type = @"cube";
transition.subtype = kCATransitionFromRight; UIView *cubeView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 300)]; cubeView.backgroundColor = [UIColor cyanColor]; [self.view.layer addAnimation:transition forKey:@"cubeView"]; [self.view addSubview:cubeView];
|
感谢一下博客
http://www.cnblogs.com/kenshincui/p/3972100.html#autoid-3-3-0