2010-03-27 20 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