CALayer是UIView可以響應(yīng)事件。一般來說,layer可以有兩種用途:一是對view相關(guān)屬性的設(shè)置,包括圓角、陰影、邊框等參數(shù);二是實現(xiàn)對view的動畫操控。
因此對一個view進行core animation動畫,本質(zhì)上是對該view的.layer進行動畫操縱。
1.CALayer常見屬性
//新建圖層
CALayer \* layer = [CALayer layer];
//圖層顏色
layer.backgroundColor = [UIColor redColor].CGColor;
//圖層大小
layer.bounds = CGRectMake(0, 0, 100, 100);
//圖層錨點
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個非常重要的屬性:position和anchorPoint
@property CGPoint position;
用來設(shè)置CALayer在父層中的位置
以父層的左上角為原點(0, 0)
@property CGPoint anchorPoint;
稱為“定位點”、“錨點”
決定著CALayer身上的哪個點會在position屬性所指的位置
以自己的左上角為原點(0, 0)
它的x、y取值范圍都是0~1,默認值為(0.5, 0.5)
layer.anchorPoint = CGPointMake(0, 0);
layer.anchorPoint = CGPointMake(0.5, 0.5);
layer.anchorPoint = CGPointMake(1, 1);