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 ...
 
随机推荐
- 二叉搜索树BinarySearchTree(C实现)
			
头文件—————————————————————————————— #ifndef _BINARY_SEARCH_TREE_H_ #define _BINARY_SEARCH_TREE_H_ #inc ...
 - 游戏开发工具之纹理打包器-3.使用GDI+绘图
			
上一次我们实现了把我们要的图片添加到CTreeCtrl控件里去,并显示图片的缩略图,现在开始我们要讲比较重要的部分--绘图区.为了实现能编辑图片的功能,绘图区应该具有如下功能. 1. 添加删除图片. ...
 - 菜鸟学Windows Phone 8开发(4)——设置应用程序样式
			
本系列文章来源MSDN的 面向完全新手的 Windows Phone 8 开发 本文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Develo ...
 - typeof与GetType
			
typeof: The typeof operator is used to obtain the System.Type object for a type. 运算符,获得某一类型的 System. ...
 - Frame - 快速创建高品质的 Web 应用原型
			
Frame 是一个让你够能够快速创建高品质的网站或应用程序产品原型的工具.你上传的图片将被包裹在真实的设备环境中.它是一个用于创建宣传资料的专业工具.Frame 完全免费供给商业和个人使用.他们也正探 ...
 - AC自动机 - 多模式串的匹配运用 --- HDU 2896
			
病毒侵袭 Problem's Link:http://acm.hdu.edu.cn/showproblem.php?pid=2896 Mean: 略 analyse: AC自动机的运用,多模式串匹配. ...
 - 一个App的界面设计流程是怎么产生的
			
作者:候佩雯链接:http://www.zhihu.com/question/27088793 完整的流程,分层次设计,自下而上去完成: 策略层,定义产品使命.价值.目标人群 愿景/功能层:定义核心场 ...
 - SignalR简单示例教程入门版
			
上周五最后一天在公司上班,无聊之余就想做点什么.介于之前有人让我做个简易版的在线聊天的,于是乎就打算花一天时间来弄下关于SignalR的简单教程制作一个在线的聊天的. 1:前端用了国产的一个MVVM框 ...
 - 重新想象 Windows 8.1 Store Apps (75) - 新增控件: Hub, Hyperlink
			
[源码下载] 重新想象 Windows 8.1 Store Apps (75) - 新增控件: Hub, Hyperlink 作者:webabcd 介绍重新想象 Windows 8.1 Store A ...
 - ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布
			
本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及 ...