Ios [UIScreen mainScreen].bounds vs[UIApplication sharedApplication].keyWindow.bounds?
我有一个视图,我想覆盖整个屏幕。我想把它的框架设置成覆盖整个屏幕。浏览堆栈溢出时,我发现以下两种不同的设置视图框以覆盖屏幕的方法:Ios [UIScreen mainScreen].bounds vs[UIApplication sharedApplication].keyWindow.bounds?,ios,bounds,uiapplication,uiscreen,Ios,Bounds,Uiapplication,Uiscreen,我有一个视图,我想覆盖整个屏幕。我想把它的框架设置成覆盖整个屏幕。浏览堆栈溢出时,我发现以下两种不同的设置视图框以覆盖屏幕的方法: [UIScreen mainScreen].bounds [UIApplcation sharedApplication].keyWindow.bounds 在我看来,它们总是返回相同的值,或者至少在我尝试过的几个测试用例中返回相同的值 目前我正在使用UIScreen,但我想知道这些调用之间的区别?在某些情况下,它们会返回不同的值吗?方法略有不同[UIScreen
[UIScreen mainScreen].bounds
[UIApplcation sharedApplication].keyWindow.bounds
在我看来,它们总是返回相同的值,或者至少在我尝试过的几个测试用例中返回相同的值
目前我正在使用
UIScreen
,但我想知道这些调用之间的区别?在某些情况下,它们会返回不同的值吗?方法略有不同[UIScreen mainScreen]
返回设备UIScreen
对象,其边界始终为设备屏幕的大小[UIApplication sharedApplication].keyWindow
返回应用程序的当前键UIWindow
,它可能不是设备屏幕的全部大小
另一个明显不同的情况是,如果设备连接到多个屏幕上。在这种情况下,[UIScreen mainScreen].bounds
将始终返回设备屏幕大小,但按键窗口可能位于其他屏幕之一,并且其大小将完全不同,具体取决于它所连接的屏幕类型