frame與bounds的區別比較

2021-07-13 16:01:19 字數 1140 閱讀 5028

翻譯文件上的


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

-(cgrect)bounds

很明顯,bounds的原點是(0,0)點,而frame的原點卻是任意的。

frame 是相對座標。bounds是絕對座標。

什麼是絕對座標值,相對座標值?

絕對座標是:x,y    就是相對於座標原點的。                  

例如(15,20)相對座標是:@x,y   就是相對於參考點(可以是自己設定的乙個點)。                 
   

例如(15,20)相對於參考點(1,1)的座標,表示:@14,19                           


(15,20)相對於參考點(-1,-1)的座標,表示:@16,21


frame與bounds的區別

原來你m,frame.size和bounds.size不總是一樣的 在uiviewcontroller的 void willanimaterotationtointe ceorientation uiinte ceorientation tointe ceorientation duration n...

frame與bounds的區別比較

翻譯文件上的 bounds是指這個view在它自己座標系的座標和大小 而frame指的是這個view在它superview的座標系的座標和大小 區別主要在座標系這一塊。很明顯乙個是自己為原點的座標系,乙個是以螢幕為原點的座標系。絕對座標。相對座標。比如螢幕旋轉的時候就要以相對來重繪。frame 如果...

frame與bounds的區別比較

翻譯文件上的 bounds是指這個view在它自己座標系的座標和大小 而frame指的是這個view在它superview的座標系的座標和大小 區別主要在座標系這一塊。很明顯乙個是自己為原點的座標系,乙個是以螢幕為原點的座標系。絕對座標。相對座標。比如螢幕旋轉的時候就要以相對來重繪。frame 如果...