UIView中layer与anchor的理解

参考资料

个人理解

下面用一种感性的认识来解释

一个UIView是根据他的layeranchor共同作用下完成呈现的。

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 pointlayer postion重合在一起,得到用户看到的图。如下。
    示意图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载:http://www.jianshu.com/p/32fcadd12108 每个UIView有一个伙伴称为l...
    F麦子阅读 11,503评论 0 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,717评论 6 30
  • Core Animation其实是一个令人误解的命名。你可能认为它只是用来做动画的,但实际上它是从一个叫做Laye...
    小猫仔阅读 9,228评论 1 4
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,531评论 5 13
  • 每个UIView有一个伙伴称为layer,一个CALayer。UIView实际上并没有把自己画到屏幕上;它绘制本身...
    shenzhenboy阅读 8,317评论 0 17