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的值不会变
看, 修改其中一方, 控件的位置是肯定要变得
 
 
posted on 2017-11-04 23:06  KeplerAir  阅读(250)  评论(0编辑  收藏  举报