ios设备的尺寸不大敏感[UIScreen mainScreen

一直对ios设备的尺寸不大敏感,搞不清[[UIScreen mainScreen] bounds] 和[UIScreen mainScreen] 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

2

3

4

5

NSLog(@"[[UIScreen mainScreen] bounds]");

 PrintRect([[UIScreen mainScreen] bounds]);

    

 NSLog(@"[[UIScreen mainScreen] applicationFrame]");

 PrintRect([[UIScreen mainScreen]applicationFrame]);

测试结果:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

//Ipad4 retain:

2013-07-17 10:08:39.094 IpadSize[191:907] [[UIScreen mainScreen] bounds]

2013-07-17 10:08:39.097 IpadSize[191:907] X:0.000000,Y:0.000000,W:768.000000,H:1024.000000

2013-07-17 10:08:39.098 IpadSize[191:907] [[UIScreen mainScreen] applicationFrame]

2013-07-17 10:08:39.099 IpadSize[191:907] X:0.000000,Y:20.000000,W:768.000000,H:1004.000000

//ipad normal:

2013-07-17 10:19:09.886 IpadSize[1223:11303] [[UIScreen mainScreen] bounds]

2013-07-17 10:19:09.887 IpadSize[1223:11303] X:0.000000,Y:0.000000,W:768.000000,H:1024.000000

2013-07-17 10:19:09.887 IpadSize[1223:11303] [[UIScreen mainScreen] applicationFrame]

2013-07-17 10:19:09.888 IpadSize[1223:11303] X:0.000000,Y:20.000000,W:768.000000,H:1004.000000

//iphone:

2013-07-17 10:15:39.372 IpadSize[1005:11303] [[UIScreen mainScreen] bounds]

2013-07-17 10:15:39.373 IpadSize[1005:11303] X:0.000000,Y:0.000000,W:320.000000,H:480.000000

2013-07-17 10:15:39.374 IpadSize[1005:11303] [[UIScreen mainScreen] applicationFrame]

2013-07-17 10:15:39.374 IpadSize[1005:11303] X:0.000000,Y:20.000000,W:320.000000,H:460.000000

//iphone 3.5 retain:

2013-07-17 10:16:34.145 IpadSize[1043:11303] [[UIScreen mainScreen] bounds]

2013-07-17 10:16:34.146 IpadSize[1043:11303] X:0.000000,Y:0.000000,W:320.000000,H:480.000000

2013-07-17 10:16:34.147 IpadSize[1043:11303] [[UIScreen mainScreen] applicationFrame]

2013-07-17 10:16:34.147 IpadSize[1043:11303] X:0.000000,Y:20.000000,W:320.000000,H:460.000000

//iphone 4 retain:

2013-07-17 10:17:26.562 IpadSize[1083:11303] [[UIScreen mainScreen] bounds]

2013-07-17 10:17:26.563 IpadSize[1083:11303] X:0.000000,Y:0.000000,W:320.000000,H:568.000000

2013-07-17 10:17:26.564 IpadSize[1083:11303] [[UIScreen mainScreen] applicationFrame]

2013-07-17 10:17:26.564 IpadSize[1083:11303] X:0.000000,Y:20.000000,W:320.000000,H:548.000000

//IPHONE 6 Plus:

2015-01-09 19:59:57.905 TripPlusMeIphone[1183:230595] [[UIScreen mainScreen] bounds]

2015-01-09 19:59:57.905 TripPlusMeIphone[1183:230595] X:0.000000,Y:0.000000,W:414.000000,H:736.000000

2015-01-09 19:59:57.905 TripPlusMeIphone[1183:230595] [[UIScreen mainScreen] applicationFrame]

2015-01-09 19:59:57.905 TripPlusMeIphone[1183:230595] X:0.000000,Y:0.000000,W:414.000000,H:736.000000

//iphone 6

2015-01-09 20:02:32.910 TripPlusMeIphone[87512:1855595] [[UIScreen mainScreen] bounds]

2015-01-09 20:02:32.911 TripPlusMeIphone[87512:1855595] X:0.000000,Y:0.000000,W:375.000000,H:667.000000

2015-01-09 20:02:32.911 TripPlusMeIphone[87512:1855595] [[UIScreen mainScreen] applicationFrame]

2015-01-09 20:02:32.911 TripPlusMeIphone[87512:1855595] X:0.000000,Y:0.000000,W:375.000000,H:667.000000

从日志输出可以看到,bounds就是屏幕的全部区域,applicationFrame就是app显示的区域,不包含状态栏(高度20,如果状态栏隐藏的话,那么,这个结果就和bounds一样了)

时间: 2024-10-10 05:17:35

ios设备的尺寸不大敏感[UIScreen mainScreen的相关文章

iOS设备的尺寸

iOS设备的尺寸有两种统计单位:像素和点,对于程序员来说,只需要记住点即可. 常见的iOS设备的尺寸(点) 分辨率(点) 设备 分辨率(像素) 320*480 4.4s 320*480(4) 640*940(4s) 320*568 5.5s 640*1136(5) 640*1136(5s) 375*667 6.6s 750*1334(6) 750*1334(6s) 414*736 6p.6ps 1080*1920(6p) 1080*1920(6ps) iPhone4的缩放因子是1,iPhone

iOS设备的尺寸和分辨率

iOS 设备按照尺寸分成Phone/Touch和Pad开发,各自分辨率如下: 1 尺寸和分辨率 iPhone/iPod Touch 设备名 分辨率 屏幕类型 iPhone 1/3G/3GS, iTouch 1/2/3 320x480 普通屏 iPhone 4/4S, iTouch 4 640x960 3:2 Retina屏 iPhone 5/5S, iTouch 5 640x1136 16:9 Retina屏 iPad 设备名 分辨率 屏幕类型 iPad 1/2/mini 768x1024 普通

iOS:界面适配(三)--iPhone不同机型或设备不同尺寸适配(屏幕适配)和系统适配

对于不同苹果设备,各个参数查看<iOS:机型参数.sdk.xcode各版本>.        机型变化 坐标:表示屏幕物理尺寸大小,坐标变大了,表示机器屏幕尺寸变大了: 像素:表示屏幕图片的大小,跟坐标之间有个对应关系,比如1:1或1:2等: ppi:代表屏幕物理大小到图片大小的比例值,如果ppi不变,则坐标和像素的比例不会变: iPhone 4以前 iPhone.iPhone3/3G机型未采用retina,坐标是320 x 480,屏幕像素320 x 480 ,他们一一对应,1:1关系.即一

所有iOS 设备的屏幕尺寸

接下来几天,我会为大家分享一些开发中常用的资料和常识性的读物,方便一些入门的从业者学习. 所有iOS 设备的屏幕尺寸 之所以要写这么一点东西,是因为最近在做iPad开发. 屏幕适配比例.png iPhone 设备: iPhone 1G --- 320x480 iPhone 3G --- 320x480 iPhone 3GS --- 320x480 iPhone 4 --- 640x960 iPhone 4S --- 640x960 iPhone 5 --- 640x1136 iPhone 5S

[[UIScreen mainScreen] bounds] 返回的屏幕尺寸不对

在使用cocos2d-iphone 2.0生成项目的时候,用5s测试时全屏中上下一直有黑条,发现[[UIScreen mainScreen] bounds]返回的屏幕尺寸不是320*568的,而是320*480.后来在项目的警告中发现提示缺少[email protected]: 单击之后弹出: 点击add之后再运行项目就可以得到320*568的全屏了! 另外,要隐藏statusBar还需要在info.plist中添加一条View controller-based status bar appea

【ios开发】 判断设备屏幕尺寸、分辨率

IOS 设备现有的分辨率如下:iPhone/iPod Touch普通屏                          320像素 x 480像素       iPhone 1.3G.3GS,iPod Touch 1.2.33:2 Retina 屏           640像素 x 960像素        iPhone 4.4S,iPod Touch 416:9 Retina 屏               640像素 x 1136像素      iPhone 5,iPod Touch 5

获取当前IOS设备的CPU型号,CPU核数,GPU,GPU核数,屏幕分辨率,屏幕尺寸,PPI等信息

今天和大家一起分享下如何获取当前IOS设备的CPU型号,CPU核数,GPU,GPU核数,屏幕分辨率,屏幕尺寸,PPI等信息.相信各位发现通过苹果官方开放的API想要获取当前设备以上的一些信息似乎做不到.如今苹果的硬件更新速度相当的快,还要在网上发现有有心人收集了所有已发布苹果设备的相关设备信息,且不定期回去更新.详情请见:Blake's iOS Device Specifications Grid http://www.blakespot.com/ios_device_specification

利用预渲染加速iOS设备的图像显示

    最近在做一个UITableView的例子,发现滚动时的性能还不错.但来回滚动时,第一次显示的图像不如再次显示的图像流畅,出现前会有稍许的停顿感. 于是我猜想显示过的图像肯定是被缓存起来了,查了下文档后发现果然如此. 后来在<Improving Image Drawing Performance on iOS>一文中找到了一些提示:原来在显示图像时,解压和重采样会消耗很多CPU时间:而如果预先在一个bitmap context里画出图像,再缓存这个图像,就能省去这些繁重的工作了. 接着我

优化-预渲染加速iOS设备的图像显示

    最近在做一个UITableView的例子,发现滚动时的性能还不错.但来回滚动时,第一次显示的图像不如再次显示的图像流畅,出现前会有稍许的停顿感. 于是我猜想显示过的图像肯定是被缓存起来了,查了下文档后发现果然如此. 后来在<Improving Image Drawing Performance on iOS>一文中找到了一些提示:原来在显示图像时,解压和重采样会消耗很多CPU时间:而如果预先在一个bitmap context里画出图像,再缓存这个图像,就能省去这些繁重的工作了. 接着我