美文网首页iOS Developer - CALayeriOS开发Oc & Swift
【iOS】菜鸟进阶:浅谈Layer两个属性position和an

【iOS】菜鸟进阶:浅谈Layer两个属性position和an

作者: Laki只是想做一个程序猿 | 来源:发表于2016-03-01 21:45 被阅读6530次

    CALayer有两个非常重要的属性:positionanchorPoint

    @property CGPoint position;

    用来设置CALayer在父层中的位置
    以父层的左上角为原点(0, 0)
    

    @property CGPoint anchorPoint;

    称为“定位点”、“锚点”
    决定着CALayer身上的哪个点会在position属性所指的位置
    以自己的左上角为原点(0, 0)
    它的x、y取值范围都是0~1,默认值为(0.5, 0.5)
    

    我们先来谈anchorPoint(锚点)
    它的X值和Y值最大为1最小为0

    Snip20160301_3.png

    默认的anchorPoint(锚点)位置是(0.5,0.5)白点就是锚点所在位置

    Snip20160301_4.png

    此时的anchorPoint(锚点)位置是(0,0)白点就是锚点所在位置

    Snip20160301_5.png

    此时的anchorPoint(锚点)位置是(0.5,0)白点就是锚点所在位置

    Snip20160301_6.png

    此时的anchorPoint(锚点)位置是(0.5,1)白点就是锚点所在位置

    Snip20160301_7.png

    此时的anchorPoint(锚点)位置是(1,1)白点就是锚点所在位置

    Snip20160301_8.png

    就算样式改变了,X和Y值取值范围还是0~1
    此时的anchorPoint(锚点)位置是(1,1),白点就是锚点所在位置

    Snip20160301_9.png Snip20160301_15.png

    @property CGPoint anchorPoint;

    position

    用来设置CALayer在父层中的位置
    以父层的左上角为原点(0, 0)
    

    添加一个紫色图层蓝色图层上,紫色图层蓝色图层的子图层
    假设紫色图层position(50,50)
    紫色图层anchorPoint(锚点)位置是(0,0)

    Snip20160301_10.png

    紫色图层显示到什么位置,由position属性决定
    图一是原始图
    图二是即将移动的图
    图三是移动完成的图
    紫色图层自身的anchorPoint(锚点)必须和自身的position重合

    ===============================================

    Snip20160301_11.png
    假设紫色图层position(50,50)
    紫色图层anchorPoint(锚点)位置是(0.5,0.5)
    图一是原始图
    图二是即将移动的图
    图三是移动完成的图

    ===============================================

    Snip20160301_12.png
    假设紫色图层position(50,50)
    紫色图层anchorPoint(锚点)位置是(1,1)
    图一是原始图
    图二是即将移动的图
    图三是移动完成的图

    ===============================================

    Snip20160301_13.png
    紫色图层宽高为100
    父控件position默认位置是左上角原点(0, 0)
    紫色图层anchorPoint(锚点)默认位置是(0.5,0.5)
    紫色图层自身的anchorPoint(锚点)必须和自身的position重合

    如图所示:所以只显示四分之一出来

    ===============================================

    Snip20160301_14.png
    如果设置紫色图层anchorPoint(锚点)(0,0)
    父控件position默认位置是左上角原点(0, 0)
    紫色图层自身的anchorPoint(锚点)必须和自身的position重合

    如图所示:显示全部紫色图层

    只要是CALayer这种类型,他的anchorPoint默认都是(0.5,0.5)

    相关文章

      网友评论

      本文标题:【iOS】菜鸟进阶:浅谈Layer两个属性position和an

      本文链接:https://www.haomeiwen.com/subject/jccnkttx.html