4

我认为我想覆盖整个屏幕。我想将其框架设置为覆盖整个屏幕。浏览堆栈溢出我发现了这两种不同的设置视图框架以覆盖屏幕的方法:

[UIScreen mainScreen].bounds
[UIApplcation sharedApplication].keyWindow.bounds

在我看来,它们总是返回相同的值,或者至少在我尝试过的几个测试用例中。

目前我正在使用UIScreen,但我很想知道这些电话之间的区别?在某些情况下它们会返回不同的值吗?

4

1 回答 1

15

方法略有不同。[UIScreen mainScreen]返回设备UIScreen对象,它的边界总是设备屏幕的大小。[UIApplication sharedApplication].keyWindow返回应用程序的当前键UIWindow,可以想象它可能不是设备屏幕的完整尺寸。

另一个可能不同的明显情况是设备连接到多个屏幕。在这种情况下,[UIScreen mainScreen].bounds将始终返回设备屏幕大小,但关键窗口可能位于其他屏幕之一上,并且它将具有完全不同的大小,具体取决于它所连接的屏幕类型。

于 2013-07-04T08:41:56.283 回答