首页 > 代码库 > 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的区别比较