frame和bounds的区别
来源:互联网 发布:mysql against的用法 编辑:程序博客网 时间:2024/05/18 11:04
布局一直都是在开发过程中比较让人头疼的,而且也会花费大量的时间,在布局页面时frame和bounds的使用(纯代码情况下)往往会让一些新手感到头疼。
首先下来看看bounds和frame的内部实现吧!
对于frame来说他的位置(CGPoint)不是固定的,是根据父视图的变化而变化的;而bounds的位置(CGPoint)则永远都在(0,0),这是一个屏幕的origin,所以bounds在设置的时候不会随着外部的变化而变化。
比如说:使用frame来确定相对位置,他的位置会根据父视图的位置来进行确定相对位置
最后的结果是Label的位置是相对Button的位置进行确定的
而如果使用bounds的话,结果是这样的
通过打印各自的起始点,发现frame的情况下,计算公式是:
label.frame.origin.y = btn.frame.origin.y + btn.frame.size.height
而bounds的情况下计算公式是:
label.frame.origin.y = btn.frame.size.height
通过以上的例子发现,frame表示该view在父view坐标系统中的位置。(参照点是,父亲的坐标系统); bounds表示该view在本地坐标系统中的位置和大小。(参照点是,本地坐标系统,以0,0点为起点)
原址:http://blog.csdn.net/textfielddelegate/article/details/50394009
0 0
- frame 和bounds 的区别
- bounds和frame的区别
- frame和bounds的区别
- frame 和 bounds 的区别
- frame和bounds的区别
- frame和bounds的区别
- frame和bounds的区别
- frame和bounds的区别
- bounds和frame的区别
- frame和bounds的区别
- Bounds 和 Frame 的区别
- bounds和frame区别
- bounds和frame区别
- bounds和frame区别
- bounds 和frame区别
- frame 和 bounds 区别
- View的bounds和frame的区别
- frame,bounds的区别
- 关于Spring的IOC(一)
- 数据库迁移全记录
- ios问题集
- iOS-计算两个日期的时间间隔
- MacOS10.11 brew无法使用解决办法
- frame和bounds的区别
- Xcode实时渲染——@IBDesignable
- Codeforces 609B The Best Gift 【水题】
- HIBERNATE 的乐观锁@VERSION和 MYSQL 的两个小问题
- Hibernate与Mysql 5.5创建表出错--table doesn't exist
- Ant+jmeter配置
- Android之.XML布局
- MmGetSystemRoutineAddress和MiFindExportedRoutineByName函数的实现代码
- stat函数讲解