翻譯文檔上的 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)。iview
frame指的是:該view在父view座標系統中的位置和大小。(參照點是父親的座標系統)ui
bounds指的是:該view在自己座標系統中 的位置和大小。(參照點是自己座標系統)spa
-(CGRect)frame{.net
returnCGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);翻譯
}orm
-(CGRect)bounds{開發
return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);文檔
}get
很明顯,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的座標系的座標和大小. 區別主要在座標系這一塊。 很明顯一個是本身爲原點的座標系,一個是以屏幕爲原點的座標系。