2010-07-13 61 views
9

他們都是CGRects和我的程序表現相同,當我切換另一個。UIImageView的框架和界限有什麼區別?

+2

[UIView的的框架,邊界,中心,產地,什麼時候用什麼?(可能重複http://stackoverflow.com/questions/1071112/uiviews-frame-bounds-中心來源何時使用什麼) – Vladimir 2010-07-13 10:47:35

回答

4

查看UIView的文檔。

frame屬性指定 座標的超級視圖 視圖的原點和大小。所有視圖的座標系 的原點在 的左上角。

bounds屬性指定在視圖的座標原點 和 其大小(視圖的含量可以高於邊界尺寸 更大)。

1

框架和邊界是相似的,但框架是在引用另一個對象(超級視圖)的同時邊界引用自身。

This question gives lots of great info. You should definitely read it.

一兩件事,我會從對方的回答特別指出的是你的程序將具有相同的行爲的時候。例如,直到您旋轉方向。由特里斯坦

運行該代碼的答案:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIWindow *w = [[UIApplication sharedApplication] keyWindow]; 
    UIView *v = [w.subviews objectAtIndex:0]; 

    NSLog(@"%@", NSStringFromCGRect(v.frame)); 
    NSLog(@"%@", NSStringFromCGRect(v.bounds)); 
} 

這段代碼的輸出是:

情況下,設備的方向是縱向

{{0, 0}, {768, 1024}} <- frame 
{{0, 0}, {768, 1024}} <- bounds 

情況下,設備方向爲橫向

{{0, 0}, {768, 1024}} <- frame 
{{0, 0}, {1024, 768}} <- bounds 

所以,你的程序通常表現相同,但不是所有情況。

1

請通過此鏈接。希望這會幫助你。

  1. http://www.slideshare.net/profmido/05-views
+1

請注意,[鏈接只回答](http://meta.stackoverflow.com/tags/link-only-answers/info)不鼓勵,所以答案應該是搜索解決方案的終點(而另一個引用的中途停留時間往往會隨着時間推移而過時)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra 2013-11-22 09:24:59

相關問題