通过编程视图创建避免硬编码iPhone屏幕大小

时间:2010-03-27 19:33:32

标签: iphone uiview

我正在查找如何以编程方式创建视图,并找到以下示例代码:

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

这很好用,除了我不喜欢它硬编码屏幕的大小。有没有办法查看屏幕的大小?有人提出的一个重点是,如果应用程序在通话期间运行,那么由于绿色的“返回呼叫”栏,屏幕会略小一些。

2 个答案:

答案 0 :(得分:26)

  

有没有办法查找大小   屏幕?

烨:

CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
  

applicationFrame

     

此属性   包含屏幕边界减去   状态栏占用的区域,如果它   是可见的。使用此属性是   建议的方式来检索你的   应用程序的初始窗口大小。该   矩形以磅为单位指定。

答案 1 :(得分:3)

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

应该是获得全屏尺寸所需的一切。

我自己只使用了applicationFrame版本。

(我还建议[UIHardware fullScreenApplicationContentRect],但这是来自一些非常古老的代码 - 不要使用它)