我有我想要覆盖整个屏幕的视图。我想把它的框架设置成覆盖整个屏幕。浏览堆栈溢出时,我发现了这两种不同的设置视图框架以覆盖屏幕的方法:
[UIScreen mainScreen].bounds
[UIApplcation sharedApplication].keyWindow.bounds在我看来,它们总是返回相同的值,或者至少在我尝试过的几个测试用例中是这样。
目前我正在使用UIScreen,但我很想知道这些调用之间的区别?在某些情况下,它们会返回不同的值吗?
发布于 2013-07-04 16:41:56
方法略有不同。[UIScreen mainScreen]返回设备的UIScreen对象,它的边界将始终是设备屏幕的大小。[UIApplication sharedApplication].keyWindow返回应用程序的当前密钥UIWindow,可以想象,它可能不是设备屏幕的完整尺寸。
另一个明显不同的情况是,如果设备连接到多个屏幕上。在这种情况下,[UIScreen mainScreen].bounds将始终返回设备的屏幕大小,但key窗口可以在其他屏幕上,并且它将具有完全不同的大小,这取决于它连接到的屏幕类型。
https://stackoverflow.com/questions/17465547
复制相似问题