为什么我在Apple的一些示例代码(例如PhotoScroller)中看到我应该在loadView
中执行以下操作:
CGRect frame = [[UIScreen mainScreen] bounds];
而不是
CGRect frame = [[UIScreen mainScreen] applicationFrame];
获得主屏幕的框架会有所不同吗?
答案 0 :(得分:17)
ApplicationFrame是屏幕尺寸减去状态栏的大小(如果可见),边界是屏幕尺寸,与状态栏无关。
因此,假设您的应用已将状态栏设置为可见,则applicationFrame将返回CGRectMake(0,0,320,460)
,而边界将在相同条件下返回CGRectMake(0,0,320,480)
。这些数字假设是iPhone / iPod Touch尺寸。
答案 1 :(得分:2)
iOS 9更新
在iPad上使用拆分视图功能时,applicationFrame
会返回应用程序窗口的大小。 bounds
始终返回设备的大小。