CoreAnimation-08-CATransition
概述
- 简介
- CATransition又称转场动画,是CAAnimation的子类,可以直接使用
- 转场动画主要用于为图层提供移入/移出屏幕的动画效果
- 转场动画常见的应用是UINavigationController
- 注意事项
转场动画的默认过渡方式为淡出方式(kCATransitionFade)
可以使用常量形式或字符串形式给转场动画的type属性赋值,如
- kCATransitionPush,常量形式
- @"push",字符串形式
官方文档中只提供了四种转场动画过渡方式的常量,如图

动画的终点值必须大于等于起点值,否则没有动画效果
转场动画常用的属性
- type(NSString *),动画的过渡方式
- subtype(NSString *),动画的过渡方向
- startProgress(float),动画起点,取值范围为0~1,表示在整个动画中的比例
- endProgress(float)动画终点,取值范围为0~1,表示在整个动画中的比例
转场动画的过渡方式
- fade
- 交叉淡化过渡
- 不支持过渡方向
- 对应的常量为kCATransitionFade
- push
- 新视图把旧视图推出去
- 对应的常量为kCATransitionPush
- moveIn
- 新视图移到旧视图上面
- 对应的常量为kCATransitionMoveIn
- reveal
- 将旧视图移开显示下边的新视图
- 对应的常量为kCATransitionReveal
- cube
- 立方体反转效果
- oglFlip
- 上下左右反转效果
- suckEffect
- 收缩效果,如一块布被抽走
- 不支持过渡方向
- rippleEffect
- 滴水效果
- 不支持过渡方向
- pageCurl
- 向上翻页效果
- pageUnCurl
- 向下翻页效果
- cameraIrisHollowOpen
- 相机镜头打开效果
- 不支持过渡方向
- cameraIrisHollowClose
- 相机镜头关闭效果
- 不支持过渡方向
转场动画的过渡方向
- kCATransitionFromRight,右
- kCATransitionFromLeft,左
- kCATransitionFromTop,上
- kCATransitionFromBottom,下
示例
效果图

实现步骤
- 通过storyboard创建UIImageView控件,并拥有它
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
- 更改imageView的image属性
//点击屏幕时,更换图片
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//控制图片循环展示
static NSInteger i = 2;
if (i == 4)
{
i = 1;
} //更换图片
NSString *imageName = [NSString stringWithFormat:@"%zd", i];
self.imageView.image = [UIImage imageNamed:imageName];
i++; //添加动画
[self setupTransition];
}
- 实现转场动画代码
- (void)setupTransition
{
CATransition *animation = [CATransition animation]; //设置动画的过渡方式
animation.type = @"oglFlip";
//设置动画的过渡方向
animation.subtype = kCATransitionFromRight;
//设置动画时长
animation.duration = 0.5; //将动画添加到图层上
[self.imageView.layer addAnimation:animation forKey:nil];
}
CoreAnimation-08-CATransition的更多相关文章
- CoreAnimation confusion: CATransaction vs CATransition vs CAAnimationGroup?
http://stackoverflow.com/questions/14042755/coreanimation-confusion-catransaction-vs-catransition-vs ...
- iOS CoreAnimation 核心动画
一 介绍 一组非常强大的动画处理API 直接作用在CALAyer上,并非UIView(UIView动画) CoreAnimation是所有动画的父类,但是不能直接使用,应该使用其子类 属性: dura ...
- iOS关于CoreAnimation动画知识总结
一:UIKit动画 在介绍CoreAnimation动画前先简单介绍一下UIKit动画,大部分简单的动画都可以使用UIKit动画实现,如果想实现更复杂的效果,则需要使用Core Animation了: ...
- CoreAnimation笔记
核心动画继承结构 CoreAnimation Core Animation是直接作用在CALayer上的(并非UIView上)非常强大的跨Mac OS X和iOS平台的动画处理API,Core Ani ...
- 第二十九篇、CoreAnimation的使用
使用的的三个步骤 1.初始化演员 2.设置好剧情 3.播放 主要类: CALayer // 绘图部分 CABaseAnimation // 基本动画(缩放,移动) CAKeyframeAnimatio ...
- CoreAnimation
CoreAnimation 1.CABasicAnimation // position CABasicAnimation *ba = [CABasicAnimation animationWithK ...
- OC - 27.CATransition
概述 简介 CATransition又称转场动画,是CAAnimation的子类,可以直接使用 转场动画主要用于为图层提供移入/移出屏幕的动画效果 转场动画常见的应用是UINavigationCont ...
- ios之CoreAnimation
CoreAnimation的好处: 1.高性能,简单的编程模块 2.像View一样,使用层级结构来构建负责的界面 3.轻量级数据结构,能使上百个动画同时执行 4.抽象的动画接口,允许动画在一个独立的线 ...
- 16 (OC)* UIAnimation和CoreAnimation
目录 一 Core Animation 二 核心动画 2.1 基础动画 2.2 关键帧动画 2.3 动画组 2.4 转场动画 2.5 逐帧动画 三 UIView动画封装 3.1 基础动画 3.2 弹簧 ...
- CATransition自定义转场动画
我们可以通过CATransiton来自定义一些漂亮的转场动画, CATransition继承自CAAnimation, 所以用法跟CAAnimation差不多 先直接上一个代码: #import &q ...
随机推荐
- 固态硬盘寿命实测让你直观SSD寿命!--转
近年来,高端笔记本及系列上网本越来越多的采用固态硬盘来提升整机性能,尽管众所周知固态硬盘除 了在正常的使用中带来更快速度的体验外,还具有零噪音.不怕震动.低功耗等优点,但大家对固态硬盘的寿命问题的担忧 ...
- centos 一键安装jdk
先检查 yum list installed |grep java 卸载JDK相关文件输入:yum -y remove java-1.7.0-openjdk*. 卸载tzdata-java输入:yum ...
- 编写高质量JS代码的68个有效方法(十一)
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- Character Controller (角色控制器) 中 Move()和SimpleMove() 的区别
首先给出两者的圣典: CollisionFlagsMove(Vector3motion); Description A more complex move function taking absolu ...
- Python单元测试框架之pytest -- 断言
对于测试来讲,不管是功能测试,自动化测试,还是单元测试.一般都会预设一个正确的预期结果,而在测试执行的过程中会得到一个实际的结果.测试的成功与否就是拿实际的结果与预期的结果进行比较.这个比的过程实际就 ...
- js-DOM控制HTML
一. dom对象控制html HTML DOM 是 W3C 标准(是 HTML 文档对象模型的英文缩写,Document Object Model for HTML). HTML DOM ...
- Node.js面试题:侧重后端应用与对Node核心的理解
Node是搞后端的,不应该被被归为前端,更不应该用前端的观点去理解,去面试node开发人员.所以这份面试题大全,更侧重后端应用与对Node核心的理解. node开发技能图解 node 事件循环机制 起 ...
- sprint3(第二天)
今天完成的任务有统计用户,全局管理员可以对员工或者用户设置权限. 燃尽图
- ChartDirector应用笔记(一)
ChartDirector介绍 ChartDirector是一款小巧精细的商业图表库.其适用的语言范围非常广泛,包括.Net, Java, Asp, VB, PHP, Python, Ruby, C+ ...
- ok6410 android driver(12)
In this essay, I will talk about how to write the service libraries. TIPS : I won't discuss the name ...