iOS开发中的position+anchorPoint与frame应用解释

我刚开始时非常困惑这两个地方, 所以现在好好解释一下他们的联系.
 
1/
position与anchorPoint是一对属性, 经常一起设置来确定控件的位置
frame单独设置
 
2/
position以父控件的左上角为(0, 0), 取值无限制. anchorPoint以自己的左上角为(0, 0), 取值0-1之间.
frame以父控件的左上角为零点, 取值无限制 .
 
3/
position与anchorPoint必定重合, anchorPoint默认值为(0.5, 0.5), position不确定
 
4/
当我们确定了frame的位置之后, 比如说frame = (100,100,200,200). 那随之position与anchorPoint也就确定了, 是多少呢?
anchorPoint默认是(0.5, 0.5) ,因为它俩必须要重合, 所以position点要为(200, 200)才可以.
看到了吧, 确定了anchorPoint, 又有frame , position就可以确定下来了.
 
5/
确定了frame之后, 又修改它俩, 控件会重新移动, 也就是说, 并不是说frame写好了之后, 控件就完全确定下来了.
 
6/
一般来说, position与anchorPoint, 修改其中一个, 控件都会随着跑
修改position, (100, 100) --> (200, 200), 这就相当于改了坐标系的(x, y), 但是anchorPoint的值不会变
修改anchorPoint, (0.5, 0.5) --> (1, 1), 这就相对于原位置, 向左上方分别移动了50%, 但是position的值不会变
看, 修改其中一方, 控件的位置是肯定要变得
 
 

转载于:https://www.cnblogs.com/AirStark/p/7784995.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值