iphone UIView中bounds和frame的差别?

翻译文档上的
bounds是指这个view在它自己坐标系的坐标和大小 而frame指的是这个view在它superview的坐标系的坐标和大小
区别主要在坐标系这一块。

很明显一个是自己为原点的坐标系,一个是以屏幕为原点的坐标系。绝对坐标。。。相对坐标。。。比如屏幕旋转的时候就要以相对来重绘。 

frame 如果一个按钮,是在表格里,按钮的frame 的坐标也是相对的,并不是相对屏幕,也就是说是相对坐标,不是绝对坐标

我也想知道任何一个uiview如何求得它在屏幕上的坐标。

view 的frame是view在它的super view 的位置与尺寸。
view 的bounds可以用来帮助它的subview来定位的 ,layoutSubviews。


Frame  is  in  terms  of  superview's  coordinate  system  

框架是从父视图的坐标系统


Bounds   is  in  terms  of   local  coordinate  system
是在局部坐标系统


很明显,bounds的原点是(0,0)点,而frame的原点却是任意的。
frame 如果一个按钮,是在表格里,按钮的frame 的坐标也是相对的,并不是相对屏幕,也就是说是相对坐标,不是绝对坐标。
frame 是相对坐标。bounds是绝对坐标。
Android的开发过程中,绝对坐标,这样画出来的位置都是相对于屏幕的而不是相对于控件的

 什么是绝对坐标值,相对坐标值?
绝对坐标是:X,Y    就是相对于坐标原点的。                   
例如(15,20)相对坐标是:@X,Y   就是相对于参考点(可以是自己设定的一个点)。                 
   例如(15,20)相对于参考点(1,1)的坐标,表示:@14,19                           
(15,20)相对于参考点(-1,-1)的坐标,表示:@16,21

bounds是指这个view在它自己坐标系的坐标和大小 而frame指的是这个view在它superview的坐标系的坐标和大小.
区别主要在坐标系这一块。
很明显一个是自己为原点的坐标系,一个是以屏幕为原点的坐标系。



原文地址:http://www.cocoachina.com/bbs/read.php?tid=73570&page=4

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值