iOS 关于坐标的介绍

 在开发中只要涉及到绘制,我们总会用到frame,bounds,center,position,anchorPoint等,表示大小和位置的界面元素。所以必须先弄清除这些元素表示的意思,以及它们之间的联系。

1、bounds:每个视图都有自身的坐标系,及默认左上角为原点,以横向为X轴向右递增,以纵向为Y轴向下递增。即bounds。它是由一个CGPoint和一个CGSize组成。改变它不会改变自身的位置,但是会影响子视图的位置。

2、frame:描述当前视图,相对于父视图坐标系的位置和大小

如下图所示

iOS 关于坐标的介绍_第1张图片

3、center:当前视图中心点的位置;

4、把position和anchorPoint放在一起比较好理解,有个比较形象的比喻,把当前视图看作是一张打印纸被一根图钉钉在桌面上(相当于父界面元素),可以想像这张打印纸可以绕着这根图钉旋转。那么图钉相对于打印纸的位置就可以用anchorPosition来描述,而这根图钉在桌面上的位置便是position。

需要重点说明的是anchorPoint内的值是比例值,即0~1。相对关系如下图所示


iOS 关于坐标的介绍_第2张图片
图1-anchorPoint常用值(在自身坐标系中)



iOS 关于坐标的介绍_第3张图片
图2-bounds、frames、position、auchorPoint四者关系

而当改变position时,frame中的origin也会基于position、anchorPosition、宽、高重新计算,具体转换公式参考文章里有详细说明!

参考文章

www.cnblogs.com/Jenaral/p/5443857.html

你可能感兴趣的:(iOS 关于坐标的介绍)