2011-03-06 81 views
1

我已經在縱向模式下設置了所有視圖,然後相應地設置了自動調整大小掩碼,以便隨着方向變化自動調整視圖的大小....然而,這似乎工作爲那些已經顯示的視角確定。如果我在橫向模式下加載任何新的意見,而我得到的加載視圖的框架上倒寬度和高度值。根據設備方向在alloc/init上設置正確的UIView幀大小

我必須基於方向爲每一個主要觀點來計算幀的大小? 例如,而不是

UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0,0,500, 100)]; 

我必須做的:

CGRect frame; 
if([UIDevice orientation] == UIDeviceOrientationLandscape){ 
    frame = CGRectMake(0,0,100,500) 
}else{ 
    frame = CGRectMake(0,0,500,100) 
} 
UIView* view = [[UIView alloc] initWithFrame:frame]; 

這似乎有點囉嗦給我,因爲自轉視圖一旦被加載的作品完美!

你如何管理視圖幀?

感謝

回答

2

我使用[[UIScreen mainScreen] applicationFrame];管理我的看法幀。

構建通用應用程序時也非常有用,因爲您可以使用它來設計可在兩個設備上正確顯示的視圖。

相關問題