核心动画的关系:
- 核心动画的优点
- 1.Core Animation动画在单独的线程中完成,不会组则主线程。
- 2.Core Animation动画只会重绘界面上变化的部分(局部是刷新)。
Core Animation动画的核心是CALayer,每个UIView都有自己的CAlayer,而且每个CALayer都可以不断添加子CALayer,CALayer所在的CALayer被称为父视图,CALayer的这种组织方式被称为Layer Tree。
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = [UIColor grayColor];
//----------为UIView设置圆角边框----------
//设置该视图控制器所显示的UIView上的CALayer的圆角半径
self.view.layer.cornerRadius = 8;
self.view.layer.borderWidth = 4;
self.view.layer.borderColor = [UIColor redColor].CGColor;
//----------创建简单的CALayer----------
//创建一个CALayer对象
CALayer *subLayer = [CALayer layer];
subLayer.backgroundColor = [UIColor magentaColor].CGColor;
subLayer.cornerRadius = 8;
subLayer.borderWidth = 2;
subLayer.borderColor = [UIColor blackColor].CGColor;
//设置subLayer的偏移量
subLayer.shadowOffset = CGSizeMake(4,5); //次数向右下角投下阴影
//设置阴影的模糊程度
subLayer.shadowRadius = 1; //该属性值越大,阴影越模糊
subLayer.shadowColor = [UIColor blackColor].CGColor;
subLayer.shadowOpacity = 0.8; //设置该subLayer的阴影的透明度
subLayer.frame = CGRectMake(30, 30, 120, 160);//设置subLayer的大小和位置
//将subLayer添加到该视图控制器所显示的UIView上的CALayer
[self.view.layer addSublayer:subLayer];
}