我有点恼火.我有一个应用程序,状态栏在主窗口中可见.因为我想动态设置我的视图和框架大小(例如,在电话呼叫期间,状态栏可能占用40个像素).
我可以做两个中的一个:
[[UIScreen mainScreen] bounds];
[[UIScreen mainScreen] applicationFrame];
Run Code Online (Sandbox Code Playgroud)
真正烦人的是这两个输出两组不同的值,每个值同样无用.
bounds将输出:{{0, 0}, {320, 480}}while
applicationFrame将输出{{0, 20}, {320, 460}}
如您所见,bounds给出正确的y原点(0从状态栏的正下方开始)但是然后给出480的高度,这是不正确的.它应该是460,因为状态栏是可见的.然后我们applicationFrame开始在状态栏下面20个像素(所以有一个上限),但然后给出正确的高度.但是,当它被推下20像素时,这并不是很有用.
有帮助吗?