您的位置:首页 > 移动开发

IOS学习笔记2-IOS屏幕 [[UIScreen mainScreen] bounds] 与[UIScreen mainScreen] applicationFrame]区别

2014-03-11 15:41 381 查看
一直对ios设备的尺寸不大敏感,搞不清[[UIScreenmainScreen]bounds]和[UIScreenmainScreen]applicationFrame]的区别,故总是心虚,现扫盲下:

定义一个宏:

1
#define
PrintRect(frame)NSLog(@"X:%f,Y:%f,W:%f,H:%f",frame.origin.x,frame.origin.y,frame.size.width,frame.size.height)
测试调用:

1
NSLog(@
"[[UIScreen
mainScreen]bounds]"
);
2
PrintRect([[UIScreen
mainScreen]bounds]);
3
4
NSLog(@
"[[UIScreen
mainScreen]applicationFrame]"
);
5
PrintRect([[UIScreen
mainScreen]applicationFrame]);
测试结果:

01
//Ipad4
retain:
02
2013-07-17
10:08:39.094IpadSize[191:907][[UIScreenmainScreen]bounds]
03
2013-07-17
10:08:39.097IpadSize[191:907]X:0.000000,Y:0.000000,W:768.000000,H:1024.000000
04
05
2013-07-17
10:08:39.098IpadSize[191:907][[UIScreenmainScreen]applicationFrame]
06
2013-07-17
10:08:39.099IpadSize[191:907]X:0.000000,Y:20.000000,W:768.000000,H:1004.000000
07
08
//ipad
normal:
09
2013-07-17
10:19:09.886IpadSize[1223:11303][[UIScreenmainScreen]bounds]
10
2013-07-17
10:19:09.887IpadSize[1223:11303]X:0.000000,Y:0.000000,W:768.000000,H:1024.000000
11
2013-07-17
10:19:09.887IpadSize[1223:11303][[UIScreenmainScreen]applicationFrame]
12
2013-07-17
10:19:09.888IpadSize[1223:11303]X:0.000000,Y:20.000000,W:768.000000,H:1004.000000
13
14
//iphone:
15
2013-07-17
10:15:39.372IpadSize[1005:11303][[UIScreenmainScreen]bounds]
16
2013-07-17
10:15:39.373IpadSize[1005:11303]X:0.000000,Y:0.000000,W:320.000000,H:480.000000
17
2013-07-17
10:15:39.374IpadSize[1005:11303][[UIScreenmainScreen]applicationFrame]
18
2013-07-17
10:15:39.374IpadSize[1005:11303]X:0.000000,Y:20.000000,W:320.000000,H:460.000000
19
20
21
22
//iphone
3.5retain:
23
2013-07-17
10:16:34.145IpadSize[1043:11303][[UIScreenmainScreen]bounds]
24
2013-07-17
10:16:34.146IpadSize[1043:11303]X:0.000000,Y:0.000000,W:320.000000,H:480.000000
25
2013-07-17
10:16:34.147IpadSize[1043:11303][[UIScreenmainScreen]applicationFrame]
26
2013-07-17
10:16:34.147IpadSize[1043:11303]X:0.000000,Y:20.000000,W:320.000000,H:460.000000
27
28
//iphone
4retain:
29
2013-07-17
10:17:26.562IpadSize[1083:11303][[UIScreenmainScreen]bounds]
30
2013-07-17
10:17:26.563IpadSize[1083:11303]X:0.000000,Y:0.000000,W:320.000000,H:568.000000
31
2013-07-17
10:17:26.564IpadSize[1083:11303][[UIScreenmainScreen]applicationFrame]
32
2013-07-17
10:17:26.564IpadSize[1083:11303]X:0.000000,Y:20.000000,W:320.000000,H:548.000000
从日志输出可以看到,bounds就是屏幕的全部区域,applicationFrame就是app显示的区域,不包含状态栏(高度20,如果状态栏隐藏的话,那么,这个结果就和bounds一样了)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: