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
网友评论