随笔分类 - 核心动画Core Animation
摘要:这里图表简单的用一个红色的视图代替,左上角的小黑叉是新建了一个层,完全是画上去的下面是一些实现代码首先在.h文件中定义一个 CALayer *closeLayer; 这就是在图表晃动的时候左上角的黑叉的层对象在.m文件中这个方法返回一个中间没有叉的层,只有一个白色的边框-(CALayer*)closeBoxLayer { CGColorRef white =[UIColor whiteColor].CGColor; CGColorRef black =[UIColor blackColor].CGColor; CALayer *layer = [CALayer layer]...
阅读全文
摘要:本例是对核心动画教程的 关键帧动画中的一个例子的一点总结与自己的心得在.h文件中 定义一个 CGMutablePathRef starPath; 用来纪录当前的路径 以便于绘画。.m文件- (IBAction)action:(id)sender { //创建五角星的路径 CGMutablePathRef path = CGPathCreateMutable(); CGPathMoveToPoint(path,NULL,240.0, 280.0); CGPathAddLineToPoint(path, NULL, 181.0, 99.0); CGPathAd...
阅读全文
摘要:之所以叫做关键帧动画是因为,这个类可以实现,某一属性按照一串的数值进行动画,就好像制作动画的时候一帧一帧的制作一样。一般使用的时候 首先通过animationWithKeyPath方法 创建一个CAKeyframeAnimation实例,CAKeyframeAnimation 的一些比较重要的属性1. path这是一个 CGPathRef 对象,默认是空的,当我们创建好CAKeyframeAnimation的实例的时候,可以通过制定一个自己定义的path来让 某一个物体按照这个路径进行动画。这个值默认是nil 当其被设定的时候 values 这个属性就被覆盖2. values一个数组,提供了一
阅读全文
摘要:我们建立了一列基础动画,和简单的增加他们到层上面。如果你想要所有的动 画开始在同样的时间,并且他们中每个动画都有同样的执行时间,这个方法是足够了- (IBAction)animate:(id)sender;{NSRect oldRect = NSMakeRect(0.0, 0.0, 100.0, 100.0);NSRect newRect = NSMakeRect(0.0, 0.0, 300.0, 300.0); CABasicAnimation *boundsAnimation =[CABasicAnimation animationWithKeyPath:@”bounds”];[bound
阅读全文
摘要:当需要对非Root Layer进行动画或者需要对动画做更多自定义的行为的时候,就必须使用到显式动画了,显式动画的基类为CAAnimation,常用的是CABasicAnimation,CAKeyframeAnimation有时候还会使用到CAAnimationGroup,CATransition(注意不是CATransaction,Transition是过渡的意思).这里再强调关于动画的两个重要的点:一是中间状态的插值计算(Interpolation),二是动画节奏控制(Timing); 有时候插值计算也和Timing有一定关系. 如果状态是一维空间的值(比如透明度),那么插值计算的结果必然再
阅读全文
摘要:转自http://geeklu.com/2012/09/animation-in-ios/二.CALayer及时间模型我们都知道UIView是MVC中的View.UIView的职责在于界面的显示和界面事件的处理.每一个View的背后都有一个layer(可以通过view.layer进行访问),layer是用于界面显示的.CALayer属于QuartzCore框架,非常重要,但并没有想象中的那么好理解.我们通常操作的用于显示的Layer在Core Animation这层的概念中其实担当的是数据模型Model的角色,它并不直接做渲染的工作.关于Layer,之前从座标系的角度分析过,这次则侧重于它的时
阅读全文
摘要:CABasicAnimation 自己只有三个property fromValue toValue ByValue当你创建一个 CABasicAnimation 时,你需要通过-setFromValue 和-setToValue 来指定一个开始值和结束值。 当你增加基础动画到层中的时候,它开始运行。当用属性做动画完成时,例如用位置属性做动画,层就会立刻 返回到它的初始位置记住当你做动画时,你至少使用了 2 个对象。这些对象都是层本身,一个层或者层继承的对象,和在先前 的例子中你分配给层的 CABasicAnimation 对象。因为你给动画对象设定了最后的值(目的地),但是并不意 味着当动画.
阅读全文