首页 > 代码库 > frame与bounds的区别比较

frame与bounds的区别比较

翻译文档上的?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?是在局部坐标系统

frame和bounds是UIView中的两个属性(property)。

frame指的是:该view在父view坐标系统中的位置和大小。(参照点是父亲的坐标系统)

bounds指的是:该view在本身坐标系统中 的位置和大小。(参照点是本身坐标系统)

-(CGRect)frame{

returnCGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);

}

-(CGRect)bounds{

return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);

}

 

 

很明显,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的坐标系的坐标和大小.?区别主要在坐标系这一块。?很明显一个是自己为原点的坐标系,一个是以屏幕为原点的坐标系。

frame与bounds的区别比较