caLayer

UIView之所以能显示在屏幕上,完全是因为它内部的一个UIView本身不具备显示的功能,是它内部的才有显示功能

创建UIView对象时,UIView内部会自动创建一个(即CALayer对象),通过UIView的layer属性可以访问这个层。当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的上,绘图完毕后,系统会将拷贝到屏幕上,于是就完成了UIView的显示。

shadowColor:    // 阴影颜色

shadowOffset = CGSizeMake(x,y):// 阴影位置

shadowOpacity: // 透明度

cornerRadius:    // (圆角)半径

masksToBounds = YES/NO; // 强制内部的所有子层跟随layer的边界效果

CALayer通过AddSubLayer方法添加子层

layer.bounds = CGRectMake(0,0,100,100); // 尺寸

layer.position = CGPointMake(100,100); // 中点会在position所指的位置

无论采取哪种方法自定义层,都必须调用CALayer的setNeedsDisplay方法才能正常绘图: // 通知层进行绘制

 

 CAAnimation的常用属性:

duration:持续时间

repeatCount:重复次数

timingFunction:动画运行节奏

 timingFunction可选的值:

  • kCAMediaTimingFunctionLinear(线性
  • kCAMediaTimingFunctionEaseIn(渐进
  • kCAMediaTimingFunctionEaseOut(渐出
  • kCAMediaTimingFunctionEaseInEaseOut(渐进渐出

 

 @interface NSObject (CAAnimationDelegate)
 // 动画开始执行的时候触发这个方法
 - (void)animationDidStart:(CAAnimation *)anim;
 
 // 动画执行完毕的时候触发这个方法
 - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag;
 @end
 
 
 
 
posted @ 2013-04-28 09:15  wangzhenxiang  阅读(181)  评论(0编辑  收藏  举报