UIScreen界限与applicationFrame
为什么我在苹果的一些示例代码(如PhotoScroller)中看到我应该在loadView
执行以下操作:
CGRect frame = [[UIScreen mainScreen] bounds];
代替
CGRect frame = [[UIScreen mainScreen] applicationFrame];
获得主屏幕的框架有什么不同吗?
ApplicationFrame是屏幕大小减去状态栏的大小(如果可见),界限是屏幕大小,无论状态栏如何。
所以applicationFrame会返回CGRectMake(0,0,320,460)
假设你的应用程序的状态栏被设置为可见的,而边界将在相同的条件下返回CGRectMake(0,0,320,480)
。 这些数字是假设iPhone / iPod触摸屏的大小。
UIScreen类参考
iOS 9更新
在iPad上使用“拆分视图”function时, applicationFrame
将返回应用程序窗口的大小。 bounds
总是返回设备的大小。