苹果设备屏幕相关

网上流传的获取的当前设备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;
    }
在xcode下测试最新的ipad和iphone模拟器,scale都是1,由此得出的dpi大小就是163了,不准备。

在维基查到的各设备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的乘积就是相应的分辨率值。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值