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];
}
[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];
}
相关文章推荐
- html 获取客户端屏幕分辨率 传回服务端处理
- 在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了
- 对于新出来的iPhone5分辨率变了该怎么处理?IOS
- android手机屏幕分辨率 及 sp dip(dp) px 区别 及高中低分辨率时处理
- android手机屏幕分辨率 及 sp dip(dp) px 区别 及高中低分辨率时处理
- 分辨率像素android手机屏幕分辨率 及 sp dip(dp) px 区别 及高中低分辨率时处理
- 转载 兼容iphone5开发获取屏幕分辨率的问题
- 151205苹果手机屏幕尺寸及分辨率
- android获取屏幕分辨率(万能)
- JS 屏幕 分辨率 大小
- Android 处理屏幕点击
- Android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- Android手机屏幕分辨率
- QT 获取系统屏幕分辨率
- Android开发:获取屏幕宽和高的两种方法(px、dip、分辨率之间的关系及px与dip互相转化)
- 常见电脑的屏幕比例和分辨率详谈
- css网页大于屏幕分辨率,打开网页让网页居中显示
- 手机屏幕分辨率类型
- [Android界面] 屏幕方向改变资源处理问题 [
- AutoLayout对于特殊分辨率的处理方式