编程

当前位置:永利皇宫463登录 > 编程 > iOS开辟 frame、bounds、center 的分别

iOS开辟 frame、bounds、center 的分别

来源:http://www.makebuLuo.com 作者:永利皇宫463登录 时间:2019-09-18 02:13
 frame: 控制位置和大小 bounds:控制大小(以自身视图左上角为原点) center:控制位置

 ① 修改控件位置 frame.origin center ② 修改控件尺寸 frame.size bounds.size

frame
以父控件的左上角为原点,所以x,y是相对于父控件计算的,具有值

bounds
以控件自身的左上角为原点,所以x,y为0

center
以父控件的左上角为原点,获取控件的中心位置

首先,frame和bounds都是CGRect类型,CGRect包含一个origin和一个size,origin是CGPoint类型,size是CGSize类型。

图片 1frame、bounds、center

图片 2

center也定义了view在其superView中的位置,再加上bounds的size值就可以推出frame的值。因此,改变center和bounds的size会改变frame值,改变frame值会改变center和bounds的size值。当view应用了transform比如旋转时,frame与center和bounds的size值的关系不再存在,因为应用transform后,bounds和center代表的含义和值都没改变,但是frame代表的含义变成了包含旋转后图形的最小矩形。

图片 3

那好。frame的origin表示该view的左上角顶点在其superView的坐标系下的坐标,size表示该view的长宽;bounds的origin表示该view的左上角顶点在该view自身坐标系下的坐标,size表示view的长宽;center表示view的中心点在其superView的坐标系下的坐标。

frame的origin定义了view的左上顶点在其superView中的位置,bounds的origin定义了view的左上顶点在其自身坐标系中的位置(我们可以根据这个坐标反推出其自身坐标系的原点位置,该view的subView都要参考这一位置,就像该view参考的坐标系是其superView的bounds所确定的坐标系)。

frame和bounds的size表示的是同一个东西,即view的长宽。改变frame的size会影响到bounds的size,反之亦然。

本文由永利皇宫463登录发布于编程,转载请注明出处:iOS开辟 frame、bounds、center 的分别

关键词:

上一篇:对象到本地

下一篇:没有了