我想覆盖整个屏幕。我想将其框架设置为覆盖整个屏幕。浏览堆栈溢出时,我发现了这两种不同的设置 View 框架以覆盖屏幕的方法:
[UIScreen mainScreen].bounds
[UIApplcation sharedApplication].keyWindow.bounds
在我看来,它们总是返回相同的值,或者至少在我尝试过的几个测试用例中是这样。
目前我正在使用 UIScreen
,但我很想知道这些调用之间的区别?在某些情况下它们会返回不同的值吗?
最佳答案
方法略有不同。 [UIScreen mainScreen]
返回设备 UIScreen
对象,它的边界将始终是设备屏幕的大小。 [UIApplication sharedApplication].keyWindow
返回应用程序的当前键 UIWindow
,这可能不是设备屏幕的完整尺寸。
另一个明显不同的情况是设备连接到多个屏幕。在这种情况下,[UIScreen mainScreen].bounds
将始终返回设备屏幕大小,但关键窗口可能在其他屏幕之一上,并且它的大小将完全不同,具体取决于什么它所连接的屏幕类型。
关于ios - [UIScreen mainScreen].bounds vs [UIApplcation sharedApplication].keyWindow.bounds?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17465547/