根據螢幕尺寸和解析度,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