CALayer *myLayer = [CALayer layer]; // 設置層的寬度和高度(100x100) myLayer.bounds = CGRectMake(0, 0, 100, 100); // 設置層的位置 myLayer.position = CGPointMake(100, 100); // 設置層的背景顏色:紅色 myLayer.backgroundColor = [UIColor redColor].CGColor; // 添加myLayer到控制器的view的layer中 [self.view.layer addSublayer:myLayer];
第5行設置了myLayer的position爲(100, 100),又由於anchorPoint默認是(0.5, 0.5),因此最後的效果是:myLayer的中點會在父層的(100, 100)位置spa
注意,藍色線是我本身加上去的,方便你們理解,並非默認的顯示效果。兩條藍色線的寬度均爲100。3d
1 myLayer.anchorPoint = CGPointMake(0, 0);
1 myLayer.anchorPoint = CGPointMake(1, 1);
1 myLayer.anchorPoint = CGPointMake(0, 1);
我想,你應該已經明白anchorPoint的用途了吧,它決定着CALayer身上的哪一個點會在position所指定的位置上。它的x、y取值範圍都是0~1,默認值爲(0.5, 0.5),所以,默認狀況下,CALayer的中點會在position所指定的位置上。當anchorPoint爲其餘值時,以此類推。code