【发布时间】:2010-03-27 19:33:31
【问题描述】:
我正在查找如何以编程方式创建视图并找到以下示例代码:
self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
这很好用,但我不喜欢它硬编码屏幕的大小。有没有办法查看屏幕的大小?有人提出的重要一点是,如果应用程序在通话期间运行,那么由于绿色的“返回通话”栏,屏幕会稍微小一些。
【问题讨论】:
我正在查找如何以编程方式创建视图并找到以下示例代码:
self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
这很好用,但我不喜欢它硬编码屏幕的大小。有没有办法查看屏幕的大小?有人提出的重要一点是,如果应用程序在通话期间运行,那么由于绿色的“返回通话”栏,屏幕会稍微小一些。
【问题讨论】:
有没有办法查看大小 屏幕?
是的:
CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
应用框架
此属性 包含屏幕边界减去 状态栏占用的区域,如果它 可见。使用这个属性是 推荐的方法来检索您的 应用程序的初始窗口大小。这 矩形以点为单位。
【讨论】:
[[UIScreen mainScreen] bounds] 或
[[UIScreen mainScreen] applicationFrame]
应该是获得全屏尺寸所需的全部内容。
我自己只用过applicationFrame版本。
(我也建议[UIHardware fullScreenApplicationContentRect],但那是来自一些非常古老的代码 - 不要使用它)
【讨论】: