大家好,又见面了,我是你们的朋友全栈君。
anchorPoint属性是CGPoint(x,y) ,x,y的取值是按比例取值,一般用0~1,默认是(0.5,0.5),表示图层的position在自身的位置,举个例子,
在红色view确定完大小位置后,如果修改layer的定位点也就是anchorPoint,会让红色view的中心点position发生偏移,此时的定位点在箭头指向的地方,anchorPoint的取值是layer左上角是(0,0),右下角是(1,1),layer的中心因为anchorPoint的改变而改变,anchorPoint参考左上角(1,1),右下角(0,0)来改变layer中心点的位置,本例中anchorPoint = (0.5,1),那么视图就会向上移动0.5个layer的height,此时anchorPoint在箭头所在位置,
anchorPoint本质上就是个点,只是在视图frame先确定的情况下,会让layer的中心点改变,anchorPoint的取值是依托于layer的,
本题中如果先写v.layer.anchorPoint,后写v.frame,那么视图的中心不变,只是定位点的坐标发生了变化而已,因为定位点在layer位置不存在的时候没办法改变layer的中心点
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155481.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...