苹果设备屏幕相关 转帖
网上流传的获取的当前设备dpi的方法:
- float scale = 1;
- if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
- scale = [[UIScreen mainScreen] scale];
- }
- float dpi = 0;
- if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
- dpi = 132 * scale;
- } else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
- dpi = 163 * scale;
- } else {
- dpi = 160 * scale;
- }
在维基查到的各设备dpi:
- 设备 尺寸 分辨率 ppi 宽高比
- ipad 2 9.7 1024x768 132
- iPad 4 9.7 2048x1536 264 4:3
- iPad 3 9.7 2048x1536 264 4:3
- iphone 3g 3.5 480x320 163
- iPhone 5 4.0 1136x640 326 16:9
- iPhone 4,4S 3.5 960x640 326 3:2
- iPod Touch5 4.0 1136x640 326 16:9
- iPod Touch4 3.5 960x640 326 3:2
根据设备屏幕分辨率辨别当前所用设备(自行添加需要判断的设备分辨率):
- if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
- {
- CGSize result = [[UIScreen mainScreen] bounds].size;
- if(result.height == 480.f)
- {
- return @"ViewController";
- }
- else
- {
- return @"ViewController-iPhone5";
- }
- }
1、得到当前屏幕的尺寸:
- CGRect rect_screen = [[UIScreen mainScreen] bounds];
- CGSize size_screen = rect_screen.size;
2、获得scale:
- CGFloat scale_screen = [UIScreen mainScreen].scale;
此时屏幕尺寸的宽高与scale的乘积就是相应的分辨率值。

浙公网安备 33010602011771号