您的位置:首页 > 其它

iphone5处理屏幕分辨率

2013-07-15 16:26 190 查看
创建轻量UIDivece类别用以处理所有的屏幕分辨率

[cpp]
view plaincopyprint?

//
// UIDevice+Resolutions.h
//
//
// Created by HelenSong on 12-9-25.
// Copyright (c) 2012年 . All rights reserved.
//

#import <UIKit/UIKit.h>

enum {
UIDevice_iPhoneStandardRes = 1, // iPhone 1,3,3GS Standard Resolution (320x960px)
UIDevice_iPhoneHiRes = 2, // iPhone 4,4S High Resolution (640x960px)
UIDevice_iPhoneTallerHiRes = 3, // iPhone 5 High Resolution (640x1136px)
UIDevice_iPadStandardRes = 4, // iPad 1,2 Standard Resolution (1024x768px)
UIDevice_iPadHiRes = 5 // iPad 3 High Resolution (2048x1536px)
}; typedef NSUInteger UIDeviceResolution;

@interface UIDevice (Resolutions) { }

+ (UIDeviceResolution) currentResolution;

@end

[cpp]
view plaincopyprint?

//
// UIDevice+Resolutions.m
//
//
// Created by HelenSong on 12-9-25.
// Copyright (c) 2012年 . All rights reserved.
//

#import "UIDevice+Resolutions.h"

@implementation UIDevice (Resolutions)

+ (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);
return (result.height == 960 ? UIDevice_iPhoneHiRes : UIDevice_iPhoneTallerHiRes);
} else
return UIDevice_iPhoneStandardRes;
} else
return (([[UIScreen mainScreen] respondsToSelector: @selector(scale)]) ? UIDevice_iPadHiRes : UIDevice_iPadStandardRes);
}

@end

方法二:使用宏定义方式判断是否为iphone5

[cpp]
view plaincopyprint?

#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)

[cpp]
view plaincopyprint?

if (!iPhone5) {
[[NSBundle mainBundle]loadNibNamed:@"xxxController" owner:self options:nil];
}else {
[[NSBundle mainBundle]loadNibNamed:@"xxxController4inch" owner:self options:nil];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: