iOS 常写在pch中的设备区分
2016-06-23 11:09
435 查看
#define INTERFACE_IS_PAD ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
#define INTERFACE_IS_PHONE ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
#define isOldPhone CGSizeEqualToSize(CGSizeMake(320,
480), [[UIScreen mainScreen] bounds].size)
#define isRetina4 (([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,
960), [[UIScreen mainScreen] currentMode].size) : NO) || CGSizeEqualToSize(CGSizeMake(640,
960), [[UIScreen mainScreen] bounds].size))
#define isRetina5 (([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,
1136), [[UIScreen mainScreen] currentMode].size) : NO) || CGSizeEqualToSize(CGSizeMake(640,
1136), [[UIScreen mainScreen] bounds].size))
#define isPad ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(768,
1024), [[UIScreen mainScreen] currentMode].size) : NO)
#define isRetinaPad ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(768*2,
1024*2), [[UIScreen mainScreen] currentMode].size) : NO)
#define isRetina6 (([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750,
1334), [[UIScreen mainScreen] currentMode].size) : NO))
#define isRetina6plus (([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242,
2208), [[UIScreen mainScreen] currentMode].size) : NO) || ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125,
2001), [[UIScreen mainScreen] currentMode].size) : NO))
#define IS_IOS7 (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1 && floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1)
#define IS_IOS8 ([[[UIDevice currentDevice] systemVersion] compare:@"8" options:NSNumericSearch] != NSOrderedAscending)
#define IS_IPHONE6PLUS ((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) && [[UIScreen mainScreen] nativeScale] ==
3.0f)
// 是否模拟器
#define isSimulator (NSNotFound != [[[UIDevice currentDevice] model] rangeOfString:@"Simulator"].location)
#define INTERFACE_IS_PHONE ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
#define isOldPhone CGSizeEqualToSize(CGSizeMake(320,
480), [[UIScreen mainScreen] bounds].size)
#define isRetina4 (([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,
960), [[UIScreen mainScreen] currentMode].size) : NO) || CGSizeEqualToSize(CGSizeMake(640,
960), [[UIScreen mainScreen] bounds].size))
#define isRetina5 (([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,
1136), [[UIScreen mainScreen] currentMode].size) : NO) || CGSizeEqualToSize(CGSizeMake(640,
1136), [[UIScreen mainScreen] bounds].size))
#define isPad ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(768,
1024), [[UIScreen mainScreen] currentMode].size) : NO)
#define isRetinaPad ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(768*2,
1024*2), [[UIScreen mainScreen] currentMode].size) : NO)
#define isRetina6 (([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750,
1334), [[UIScreen mainScreen] currentMode].size) : NO))
#define isRetina6plus (([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242,
2208), [[UIScreen mainScreen] currentMode].size) : NO) || ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125,
2001), [[UIScreen mainScreen] currentMode].size) : NO))
#define IS_IOS7 (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1 && floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1)
#define IS_IOS8 ([[[UIDevice currentDevice] systemVersion] compare:@"8" options:NSNumericSearch] != NSOrderedAscending)
#define IS_IPHONE6PLUS ((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) && [[UIScreen mainScreen] nativeScale] ==
3.0f)
// 是否模拟器
#define isSimulator (NSNotFound != [[[UIDevice currentDevice] model] rangeOfString:@"Simulator"].location)
相关文章推荐
- CGImageCreateWithImageInRect图片裁剪问题
- iOS 手势滑动返回功能
- ios::sync_with_stdio(false);(读入优化)
- iOS TableView实现QQ好友列表
- iOS开发:字典(NSDictionary)和数组( NSArray)转换成字符串
- ios webView与js的交互
- OC获取folder下文件的路径
- iOS流媒体工程后台运行
- IOS 中的 _cmd 代表本方法的名称
- iOS 程序间跳转传参(支付和地图)
- cordova local notification sound not working in ios and andorid
- iOS小demo之判断数值类型
- iOS自动更新如何实现
- iOS 修改状态栏的颜色
- iOS-通过键盘的监听完成底部工具条的黏性移动
- iOS 核心动画Core Animation
- 如何用xcode7.3在ios10的真机上调试代码
- iOS开发之优秀开源框架IQKeyboardManager,零行代码解决键盘遮挡问题,如此简单解决键盘遮挡问题,IQKeyboardManager源码分解
- iOS App开发中Core Data框架基本的数据管理功能小结
- 《Motion Design for iOS》(二十六)