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

来源:互联网 发布:杨过武功 知乎 编辑:程序博客网 时间:2024/05/01 23:13

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


根据屏幕尺寸和分辨率,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
原创粉丝点击