2011-08-03 96 views
6

我得問問它。使用「UIScreen mainScreen] applicationFrame]」for Landscape模式

[[UIScreen mainScreen] applicationFrame] 

是一個美麗的方式來獲得縱向模式下的iphone或ipad的工作區域。但是,如果我想獲得的風景同樣大小,還有其他的代碼,否則我將不得不創建:

CGRect landscape = CGRectMake(0, 20, 1024, 748) 

這甚至不是通用的iPhone和iPad。

+1

我不知道它是安全的,推定該applicationFrame選擇總是會在縱向模式下返回該地區。 (只需手動切換值。) – Rich

+0

您是否成功解決了這個問題?轉置寬度和高度值是不可取的。 – user216661

回答

2

您可以使用[[[UIApplication sharedApplication] keyWindow] frame]

+0

當我在我的視圖控制器的loadView選擇器中調用這個時,我得到一個CGRect,其原點和大小均設爲(0,0)。 – Rich

+0

我不是很確定,但它對我有效:'loadView] [Line:788] [[[[UIApplication sharedApplication] keyWindow] frame]:{{0,0},{768,1024}}}'。你可以先嚐試調用'[super loadView]'嗎?如果這沒有奏效,我建議嘗試使用另一種方法。也許是'sizeToFit'? – Angelo

相關問題