UIView 中position 和anchorPoint 的了解 iOS

一般来说都是先介绍positon,在介绍anchorPoint。这里反过来介绍。

1、anchorPoint:

        从一个例子来入手,想象一下,把一张A4白纸用图钉订在书桌上,如果订的不是很紧的话,白纸就可以沿顺时针或逆时针方向绕着图钉旋转,这时候图钉就起着指 点的作用。我们要解释的anchorPoint就相当于白纸上当图钉,它主要的作用就是用来作为变换的指点,旋转就死一种变换,类似的还有平移、缩放。

        继续,很明显,白纸的旋转形态随图钉的位置不同而不同,图钉订在白纸的正中间与左上角时分别就造成了两种旋转形态,这事有图钉(anchorPoint)的位置决定的。如何衡量图钉(anchorPoint)在白纸中的位置呢?在iOS中,anchorPoint 点的值是用一种相对于bounds的比例值来确定的,在白纸的左上角、右下角,anchorPoint分别为(0, 0),  (1, 1),也就是说anchoPoint是在单位坐标空间(同时也是左手坐标系)中定义的。类似地,可以得出在白纸的中心点、左下角和右上角的 anchorPoint为(0.5, 0.5),  (0, 1), (1, 0)。

 

      像UIView有superView与subView的概念一样,CALayer也有superLayer与layer的概念,前面说的白纸可以理解为layer,书桌可以理解为superLayer。如果各自以左上角为原点,则在图中有相对的两个坐标空间。

 

2、position:

        这时候可以大胆的猜测一下,position是不是就是anchorPoint在superLayer中的位置呢?答案是确定的,更确切的 说,position是layer中的anchorPoint点在superLayer中的位置坐标。因此可以说,position点是 superLayer的,anchorPoint点是相对于layer的,两者是相对不同的坐标空间的一个重合的点。

 

3、position 和 anchorPoint 的关系:

 

          anchorPoint 决定着CALayer身上的那个点会在position属性所指的位置。

转载于:https://my.oschina.net/u/2433349/blog/688123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值