Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios [UIScreen mainScreen].bounds vs[UIApplication sharedApplication].keyWindow.bounds?_Ios_Bounds_Uiapplication_Uiscreen - Fatal编程技术网

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
将始终返回设备屏幕大小,但按键窗口可能位于其他屏幕之一,并且其大小将完全不同,具体取决于它所连接的屏幕类型