个人理解
下面用一种感性的认识来解释
一个UIView
是根据他的layer
和anchor
共同作用下完成呈现的。
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];
如果设置了一个layer,只是告知他的图层。
- 下图中的虚线框就是
layer
,是一个虚拟的100*100的矩形框,他的中心点,被我们设置在(100,100) - 紧接着,
anchor
是他的锚点,可以认为是我们在哪里挂这张画(钉子)。他是一个和这个frame一样大的矩形,但是坐标的范围是0~1的百分比。如下图中右侧的矩形。anchor point
默认的取值是(0.5 0.5) - 我们最后做的就是,将
anchor
矩形的anchor point
和layer postion
重合在一起,得到用户看到的图。如下。
示意图
网友评论