首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[UIScreen mainScreen].bounds vs [UIApplcation sharedApplication].keyWindow.bounds?

[UIScreen mainScreen].bounds vs [UIApplcation sharedApplication].keyWindow.bounds?
EN

Stack Overflow用户
提问于 2013-07-04 16:33:28
回答 1查看 6.4K关注 0票数 4

我有我想要覆盖整个屏幕的视图。我想把它的框架设置成覆盖整个屏幕。浏览堆栈溢出时,我发现了这两种不同的设置视图框架以覆盖屏幕的方法:

代码语言:javascript
复制
[UIScreen mainScreen].bounds
[UIApplcation sharedApplication].keyWindow.bounds

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-04 16:41:56

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

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

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17465547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档