個人理解
下面用一種感性的認識來解釋
一個UIView是根據(jù)他的layer和anchor共同作用下完成呈現(xiàn)的。
CALayer *myLayer = [CALayer layer];
myLayer.bounds = CGRectMake(0, 0, 100, 100);
myLayer.position = CGPointMake(100, 100);
myLayer.backgroundColor = [UIColor yellowColor].CGColor;
// 添加myLayer到控制器的view的layer中
[self.view.layer addSublayer:myLayer];
如果設(shè)置了一個layer,只是告知他的圖層。
- 下圖中的虛線框就是
layer,是一個虛擬的100*100的矩形框,他的中心點,被我們設(shè)置在(100,100) - 緊接著,
anchor是他的錨點,可以認為是我們在哪里掛這張畫(釘子)。他是一個和這個frame一樣大的矩形,但是坐標的范圍是0~1的百分比。如下圖中右側(cè)的矩形。anchor point默認的取值是(0.5 0.5) - 我們最后做的就是,將
anchor矩形的anchor point和layer postion重合在一起,得到用戶看到的圖。如下。
示意圖
