轉 frame與bounds的區別比較

2021-06-26 13:58:31 字數 1255 閱讀 6832

翻譯文件上的
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 如果乙個按鈕,是在**裡,按鈕的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的座標系的座標和大小.
區別主要在座標系這一塊。很明顯乙個是自己為原點的座標系,乙個是以螢幕為原點的座標系。

剖析OC中的bounds與frame的區別

在oc的ui控制項中,我們常常會碰到兩個屬性frame 與bound,前者相對比較好理解,而bound有時候卻比較繞,今天我們來仔細研究下bound的一些特性。首先,我們來看下下面的 通過 我們可以看出bounds的width值 height值與frame是相等的,只不過origin點的x y預設都...

frame與bounds的區別

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

iOS中frame和Bounds之間的區別

frame frame是每個view必備的屬性,代表的是當前檢視的位置和大小,沒有設定他,當前檢視是看不到的。位置需要有參照物才能確定,數學中我們用座標系來確定座標系中的某個點的位置,ios中有他特有的座標系,如下圖 ios座標系 在ios座標系中以左上角為座標原點,往右為x正方向,往下是y正方向 ...