IOS 判斷裝置螢幕尺寸、解析度

來源:互聯網
上載者:User

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

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.