iOS 判断屏幕尺寸、分辨率

来源:互联网 发布:阮佳 黄光剑 网络战 编辑:程序博客网 时间:2024/05/01 13:04

根据屏幕尺寸和分辨率,ios现在数起来有6个版本。

iOS 设备现有的分辨率如下:
iPhone/iPod Touch
普通屏                           320像素 x 480像素       iPhone 1、3G、3GS,iPod Touch 1、2、3
3:2 Retina 屏             640像素 x 960像素        iPhone 4、4S,iPod Touch 4
16:9 Retina 屏               640像素 x 1136像素      iPhone 5,iPod Touch 5

iPad
普通屏                  768像素 x 1024像素      iPad 1, iPad2,iPad mini
Retina屏                  1536像素 x 2048像素     New iPad,iPad 4

 

UIDevice+Resolutions.h

复制代码
////  UIDevice+Resolutions.h//  Test_common////  Created by wangzhipeng on 13-1-30.//  Copyright (c) 2013年 com.comsoft. All rights reserved.//#import <UIKit/UIKit.h>enum {    // iPhone 1,3,3GS 标准分辨率(320x480px)    UIDevice_iPhoneStandardRes      = 1,    // iPhone 4,4S 高清分辨率(640x960px)    UIDevice_iPhoneHiRes            = 2,    // iPhone 5 高清分辨率(640x1136px)    UIDevice_iPhoneTallerHiRes      = 3,        // iPad 1,2 标准分辨率(1024x768px)    UIDevice_iPadStandardRes        = 4,        // iPad 3 High Resolution(2048x1536px)    UIDevice_iPadHiRes              = 5               }; typedef NSUInteger UIDeviceResolution;@interface UIDevice (Resolutions){    }/****************************************************************************** 函数名称 : + (UIDeviceResolution) currentResolution 函数描述 : 获取当前分辨率 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (UIDeviceResolution) currentResolution;/****************************************************************************** 函数名称 : + (UIDeviceResolution) currentResolution 函数描述 : 当前是否运行在iPhone5端 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (BOOL)isRunningOniPhone5;/****************************************************************************** 函数名称 : + (BOOL)isRunningOniPhone 函数描述 : 当前是否运行在iPhone端 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (BOOL)isRunningOniPhone;@end
复制代码

 

UIDevice+Resolutions.m

复制代码
////  UIDevice+Resolutions.m//  Test_common////  Created by wangzhipeng on 13-1-30.//  Copyright (c) 2013年 com.comsoft. All rights reserved.//#import "UIDevice+Resolutions.h"@implementation UIDevice (Resolutions)/****************************************************************************** 函数名称 : + (UIDeviceResolution) currentResolution 函数描述 : 获取当前分辨率  输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (UIDeviceResolution) currentResolution {    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){        if ([[UIScreen mainScreen] respondsToSelector: @selector(scale)]) {            CGSize result = [[UIScreen mainScreen] bounds].size;            result = CGSizeMake(result.width * [UIScreen mainScreen].scale, result.height * [UIScreen mainScreen].scale);            if (result.height <= 480.0f)                return UIDevice_iPhoneStandardRes;            return (result.height > 960 ? UIDevice_iPhoneTallerHiRes : UIDevice_iPhoneHiRes);        } else            return UIDevice_iPhoneStandardRes;    } else        return (([[UIScreen mainScreen] respondsToSelector: @selector(scale)]) ? UIDevice_iPadHiRes : UIDevice_iPadStandardRes);}/****************************************************************************** 函数名称 : + (UIDeviceResolution) currentResolution 函数描述 : 当前是否运行在iPhone5端 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (BOOL)isRunningOniPhone5{    if ([self currentResolution] == UIDevice_iPhoneTallerHiRes) {        return YES;    }    return NO;}/****************************************************************************** 函数名称 : + (BOOL)isRunningOniPhone 函数描述 : 当前是否运行在iPhone端 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (BOOL)isRunningOniPhone{    return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone);}@end
复制代码
0 0