UIScreen绑定与applicationFrame

时间:2010-06-25 17:40:40

标签: ios cocoa-touch uiscreen

为什么我在Apple的一些示例代码(例如PhotoScroller)中看到我应该在loadView中执行以下操作:

CGRect frame = [[UIScreen mainScreen] bounds]; 

而不是

CGRect frame = [[UIScreen mainScreen] applicationFrame]; 

获得主屏幕的框架会有所不同吗?

2 个答案:

答案 0 :(得分:17)

ApplicationFrame是屏幕尺寸减去状态栏的大小(如果可见),边界是屏幕尺寸,与状态栏无关。

因此,假设您的应用已将状态栏设置为可见,则applicationFrame将返回CGRectMake(0,0,320,460),而边界将在相同条件下返回CGRectMake(0,0,320,480)。这些数字假设是iPhone / iPod Touch尺寸。

UIScreen Class Reference

答案 1 :(得分:2)

iOS 9更新

在iPad上使用拆分视图功能时,applicationFrame会返回应用程序窗口的大小。 bounds始终返回设备的大小。