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

IOS 判断设备屏幕尺寸、分辨率

2013-01-30 16:58 477 查看
根据屏幕尺寸和分辨率,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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: