我有点生气。我有一个应用程序,其状态栏在主窗口中可见。因为我想动态设置我的视图和它们的帧大小(例如,在通话期间状态栏可能占用 40 像素)。
我可以做以下两个之一:
[[UIScreen mainScreen] bounds];
[[UIScreen mainScreen] applicationFrame];
真正令人讨厌的是这两个输出两组不同的值,每一个都同样无用。
bounds
将输出:{{0, 0}, {320, 480}}
while
applicationFrame
将输出{{0, 20}, {320, 460}}
如您所见,bounds
给出了正确的 y 原点(0 从状态栏的正下方开始),但随后给出了 480 的高度,这是不正确的。它应该是 460,因为状态栏是可见的。然后我们applicationFrame
在状态栏下方 20 像素处开始(所以有一个上限),然后给出正确的高度。但无论如何,当它被向下推 20 像素时,这并不是很有用。
有什么帮助吗?