2010-03-27 47 views
11

我一直在尋找了如何以編程方式創建一個視圖,發現下面的示例代碼:避免與程序視圖創建硬編碼iPhone的屏幕尺寸

self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];

這個偉大的工程,但我不喜歡它硬編碼屏幕的大小。有沒有辦法查看屏幕的大小?有人提出的一個重要觀點是,如果應用程序在通話過程中運行,則由於綠色的「返回呼叫」欄,屏幕會稍微變小。

回答

26

有沒有辦法來查找的 屏幕大小?

燁:

CGRect screenRect = [[UIScreen mainScreen] applicationFrame]; 

applicationFrame

此屬性 包含屏幕邊界減去狀態欄佔據,如果 是可見的 區域。使用這個屬性是 推薦的方式來檢索你的 應用程序的初始窗口大小。 矩形在點中指定。

3

[[UIScreen mainScreen] bounds][[UIScreen mainScreen] applicationFrame]

應該是所有你需要得到全屏幕大小。

我只使用了applicationFrame版本。

(我還建議[UIHardware fullScreenApplicationContentRect]但那是一些很老的代碼 - 不使用它)

+2

UIHardware不是當前SDK中的類。 – 2010-03-27 19:47:26

+0

已經在編輯中:-) – Andiih 2010-03-27 19:50:14