CALayer是UIView可以響應(yīng)事件媳握。一般來說,layer可以有兩種用途:一是對(duì)view相關(guān)屬性的設(shè)置磷脯,包括圓角蛾找、陰影、邊框等參數(shù)赵誓;二是實(shí)現(xiàn)對(duì)view的動(dòng)畫操控打毛。
因此對(duì)一個(gè)view進(jìn)行core animation動(dòng)畫,本質(zhì)上是對(duì)該view的.layer進(jìn)行動(dòng)畫操縱俩功。
1.CALayer常見屬性
//新建圖層
CALayer \* layer = [CALayer layer];
//圖層顏色
layer.backgroundColor = [UIColor redColor].CGColor;
//圖層大小
layer.bounds = CGRectMake(0, 0, 100, 100);
//圖層錨點(diǎn)
layer.anchorPoint = CGPointMake(0, 0);
//圖層位置
layer.position = self.view.center;
//圓角半徑
layer.cornerRadius = 50;
//邊框?qū)挾? layer.borderWidth = 2;
//邊框顏色
layer.borderColor = [UIColor blackColor].CGColor;
//添加圖層
[self.view.layer addSublayer:layer];
2.CALayer有2個(gè)非常重要的屬性:position和anchorPoint
@property CGPoint position;
用來設(shè)置CALayer在父層中的位置
以父層的左上角為原點(diǎn)(0, 0)
@property CGPoint anchorPoint;
稱為“定位點(diǎn)”幻枉、“錨點(diǎn)”
決定著CALayer身上的哪個(gè)點(diǎn)會(huì)在position屬性所指的位置
以自己的左上角為原點(diǎn)(0, 0)
它的x、y取值范圍都是0~1诡蜓,默認(rèn)值為(0.5, 0.5)
layer.anchorPoint = CGPointMake(0, 0);
layer.anchorPoint = CGPointMake(0.5, 0.5);
layer.anchorPoint = CGPointMake(1, 1);