CALayer CAAnimation

http://blog.sina.com.cn/s/blog_7b9d64af0101bu9j.html

CATransition 类

CATransition实现了layer的过渡动画。也就是说是控制layer的过渡动画类。

我们可以通过CATransition来实现我们特定的过渡动画。也可以通过一个自定义的CIFilter实体来实现过渡动画。

CATransition相关属性

endProgress

@property float endProgress

定义过渡的结束点

结束点的值必须大于或者等于开始点。

默认值为1.0。

startProgress

@property float startProgress

定义过度的开始点

开始点的值必须小于或者等于结束点。

默认值为0.0。

这两个属性是float类型的。

可以控制动画进行的过程,可以让动画停留在某个动画点上,值在0.0到1.0之间。endProgress要大于等于startProgress。

比如:立方体转,可以设置endProgress= 0.5,让动画停留在整个动画的特定位置(停止在旋转一般的状态)。

filter

@property(retain) CIFilter *filter

为动画添加一个可选的滤镜。

如果指定,那么指定的filter必须同时支持x和y,否则该filter将不起作用。

默认值为nil。

如果设置了filter,那么,为layer设置的type和subtype属性将被忽略。

该属性只在iOS 5.0以及以后版本被支持。

subtype

@property(copy) NSString *subtype

指定预定义的过渡方向。

默认为nil。

如果指定了filter,那么该属性无效。

预定义的过渡方向为:

NSString * const kCATransitionFromRight;

NSString * const kCATransitionFromLeft;

NSString * const kCATransitionFromTop;

NSString * const kCATransitionFromBottom;

分别表示:过渡从右边、左边、顶部、底部 开始。

type

@property(copy) NSString *type

指定预定义的过渡效果。

默认为kCATransitionFade

如果指定了filter,那么该属性无效。

预定义的过渡效果:

NSString * const kCATransitionFade;

NSString * const kCATransitionMoveIn;

NSString * const kCATransitionPush;

NSString * const kCATransitionReveal;

分别表示:淡出、覆盖原图、推出、从底部显示。

注意:

还有很多私有API效果,使用的时候要小心,可能会导致app审核不被通过(悲剧啊,为啥有却不让用啊!好东西不应该被束之高阁!):

fade     //交叉淡化过渡(不支持过渡方向)

push     //新视图把旧视图推出去

moveIn   //新视图移到旧视图上面

reveal   //将旧视图移开,显示下面的新视图

cube     //立方体翻滚效果

oglFlip  //上下左右翻转效果

suckEffect   //收缩效果,如一块布被抽走(不支持过渡方向)

rippleEffect //滴水效果(不支持过渡方向)

pageCurl     //向上翻页效果

pageUnCurl   //向下翻页效果

cameraIrisHollowOpen  //相机镜头打开效果(不支持过渡方向)

cameraIrisHollowClose //相机镜头关上效果(不支持过渡方向)

http://www.cocoachina.com/ios/20141022/10005.html

时间: 2024-08-24 07:52:17

CALayer CAAnimation的相关文章

iOS_41_绘图

Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境. 使用Quartz 2D API可实现许多功能,如基本路径的绘制.透明度.描影.绘制阴影.透明层.颜色管理.反锯齿.PDF文档生成和PDF元数据访问. 在需要的时候,Quartz 2D还可以借助图形硬件的功能. 在Mac OS X中,Quartz 2D可以与其它图形图像技术混合使用, 如Core Image.Core Video.OpenGL.QuickTime. 例如,通过使用 QuickTime的Graphics

core animation (转)

iOS Core Animation 简明系列教程 看到无数的CA教程,都非常的难懂,各种事务各种图层关系看的人头大.自己就想用通俗的语言翻译给大家听,尽可能准确表达,如果哪里有问题,请您指出我会尽快修改. 1.什么是Core Animation? 它是一套包含图形绘制,投影,动画的OC类集合.它就是一个framework.通过CoreAnimation提供的接口,你可以方便完成自己所想要的动画. 2.我眼中的Core Animation? 动画和拍电影一样,而我们就如同导演一样,全权负责这场小

谈谈iOS Animation

一.基本概念 什么是Animation(动画),简单点说就是在一段时间内,显示的内容发生了变化.对CALayer来说就是在一段时间内,其Animatable Property发生了变化.从CALayer(CA = Core Animation)类名来看就可以看出iOS的Layer就是为动画而生的,便于实现良好的交互体验. 这里涉及到两个东西: 一是Layer(基类CALayer),一是Animation(基于CAAnimation). Animation作用于Layer.CALayer提供了接口

iOS Core Animation 简明系列教程

iOS Core Animation 简明系列教程  看到无数的CA教程,都非常的难懂,各种事务各种图层关系看的人头大.自己就想用通俗的语言翻译给大家听,尽可能准确表达,如果哪里有问题,请您指出我会尽快修改. 1.什么是Core Animation? 它是一套包含图形绘制,投影,动画的OC类集合.它就是一个framework.通过CoreAnimation提供的接口,你可以方便完成自己所想要的动画. 2.我眼中的Core Animation? 动画和拍电影一样,而我们就如同导演一样,全权负责这场

小知识点--小结

一 OC 小结 1 什么是 OC 语言? OC 语言即面向对象语言,它扩展了 ANSI C 语言,将 SmallTalk 式的消息传递机制加入到 ANSI C 中.它是苹果 OS 和 iOS 以及相关的 API,Cocoa 和 Cocoa Touch 的主要编程语言. 2 OC 语言的特点: 支持 C 语言语法,是 ANSI-C 语言的一个超集,是一种高效的编程语言. 是 C 语言面向对象的扩展,完全支持面向对象的特性. 简洁易读的编程风格,使编程和阅读更加清晰. 兼容性好,可以在项目中直接导入

iOSCALayer 以及时间模型

转自http://geeklu.com/2012/09/animation-in-ios/ 二.CALayer及时间模型 我们都知道UIView是MVC中的View.UIView的职责在于界面的显示和界面事件的处理.每一个View的背后都有一个layer(可以通过view.layer进行访问),layer是用于界面显示的.CALayer属于QuartzCore框架,非常重要,但并没有想象中的那么好理解.我们通常操作的用于显示的Layer在Core Animation这层的概念中其实担当的是数据模

Objective-C学习笔记和IOS入门

1. main(int argc, char * argv[]){} (因为程序名总是用作启动参数传递,所以argc的值至少是1) 2. NSLog(@"some strings"); @"" --> NSString :  "%@"-->是NSString 的占位符; 3. NSString *getColorName(ShapeColor colorname){return @"red";} 4. @inter

iOS CoreAnimation剖析

零.前言 这里没有太多的代码细节,只是探索iOS动画的基本概念,以及其抽象模型,数学基础等.我们学习一个知识的时候一般有两个部分,抽象部分和形象部分,抽象好比语言的语法,是规则,形象好比具体的句子,可以用来和别人交流的.抽象比形象难于理解,但比形象通用.其实数学中经常碰到抽象和形象的概念,比如有一系列离散的点,这是形象;通过这些点我们拟合出一条曲线,得到其函数,函数是抽象的;然后通过这个函数我们可以得到更多的点,这又回到了形象上.所以学习任何知识不能仅仅停留在会用了,而要上升一个层次,去学习研究

让CALayer的shadowPath跟随bounds一起做动画改变-b

在iOS开发中,我们经常需要给视图添加阴影效果,最简单的方法就是通过设置CALayer的shadowColor.shadowOpacity.shadowOffset和shadowRadius这几个属性可以很方便的为 UIView 添加阴影效果.但是如果单用这几个属性会导致离屏渲染(Offscreen Rendering),而且CoreAnimation在每一帧绘制阴影的时候都需要递归遍历所有sublayer的alpha通道从而精确的计算出阴影的轮廓,这是非常消耗性能的,从而导致了动画的卡顿. 为