iOS 关于坐标的介绍

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

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

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

如下图所示

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

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

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


图1-anchorPoint常用值(在自身坐标系中)



图2-bounds、frames、position、auchorPoint四者关系

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

参考文章

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文主要介绍frame、bounds、center、transform相关的坐标系统: 1.frame:描述当前视...
    2897275c8a00阅读 7,659评论 0 5
  • Core Animation其实是一个令人误解的命名。你可能认为它只是用来做动画的,但实际上它是从一个叫做Laye...
    小猫仔阅读 9,263评论 1 4
  • 转载:http://www.jianshu.com/p/32fcadd12108 每个UIView有一个伙伴称为l...
    F麦子阅读 11,514评论 0 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,724评论 6 30
  • OCT 13TH, 2013 引言 相信初接触到CALayer的人都会遇到以下几个问题: 为什么修改anchorP...
    subite0阅读 4,351评论 0 1

友情链接更多精彩内容