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 ...
随机推荐
- 红黑树(三)之 Linux内核中红黑树的经典实现
概要 前面分别介绍了红黑树的理论知识 以及 通过C语言实现了红黑树.本章继续会红黑树进行介绍,下面将Linux 内核中的红黑树单独移植出来进行测试验证.若读者对红黑树的理论知识不熟悉,建立先学习红黑树 ...
- JAVA jdbc(数据库连接池)学习笔记(一)
学习内容: 1.JDBC的含义... JDBC想必学过JAVA的就不会陌生,JDBC到底是什么呢?其实就是由JAVA的一些类和接口构成的API,保存在java.sql和javax.sql..包中的一些 ...
- C#序列化JSON
public static string ConvertToJsonString<T>(T instance) { using (MemoryStream stre ...
- codevs4247奇特的生物 解析报告
4247 奇特的生物 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 科学家们最近发现了一种奇怪的生物,它们每天长大一岁 ...
- dos系统
实验一 命令解释程序的编写 一.目的和要求 1. 实验目的 (1)掌握命令解释程序的原理: (2)掌握简单的DOS调用方法: (3)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的命 ...
- Winform开发框架之字典管理模块的更新,附上最新2013年全国最新县及县以上行政区划代码sql脚本
在很多项目里面,字典管理是必备的项目模块,而这个又是比较通用的功能,因此可以单独做成一个通用字典管理,例如这个模块,可以通过集成的方式,使用在我的<Winform开发框架>.<WCF ...
- Python基础:数值(布尔型、整型、长整型、浮点型、复数)
一.概述 Python中的 数值类型(Numeric Types)共有5种:布尔型(bool).整型(int).长整型(long).浮点型(float)和复数(complex). 数值类型支持的主要操 ...
- macbook 我们需要买吗
能否写出好代码与是否使用“好”的电脑是没有直接关系的.
- ASP.NET MVC进阶二
一.数据验证 数据验证的步骤 在模型类中添加与验证相关的特性标记 在客户端导入与验证相关的js文件和css文件 使用与验证相关的Html辅助方法 在服务器端判断是否通过服务器端验证 常用的验证标记 R ...
- 容器---List和AbstractList
一.前言 前面我们介绍了Collection及其抽象实现,在JAVA的容器体系里,由Collection派生出来的有两大体系,即List和Map.本文以及后续文章将重点分析List体系.本文将重点分析 ...