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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的值不会变
看, 修改其中一方, 控件的位置是肯定要变得
 
 

以上是关于iOS开发中的position+anchorPoint与frame应用解释的主要内容,如果未能解决你的问题,请参考以下文章

ios开发讲解之anchorPoint和position详解

iOS开发UI篇—CAlayer层的属性

在IOS11中position:fixed弹出框中的input出现光标错位的问题

iOS开发之layer.frame,layer.anchorPoint,layer.position对frame的影响

iOS开发之layer.frame,layer.anchorPoint,layer.position对frame的影响

iOS中的布局