size和center、frame和bounds

frame和bounds的区别

  • frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父控件的坐标系统)
    自己定义的坐标系统,setbound指明了本视图左上角在该坐标系统中的坐标,默认值(0,0)
  • bounds指的是:该view在本身坐标系统中 的位置和大小。(参照点是本身坐标系统)
    frame坐标: 子视图左上角在父视图坐标系统(bounds坐标系统)中的坐标,默认值(0,0)
    子视图实际位置=父视图实际位置-父视图bounds坐标+子视图frame坐标


frame和bounds的size问题

  • 基于frame的坐标系统:size以左上角位原点,改变尺寸的
  • 基于bounds的坐标系统:size以中心点位原点,改变尺寸的

使用frame的size和center的先后顺序问题

  • 先设置center后设置size,位置会不对
  • 原因:frame的参照点是父控件的坐标系统,先center后size,中心点位是原尺寸的中心点,位置会不对
  • 解决方法: 选设置size后设置center
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容