ios 常用的宏定义方法

来源:互联网 发布:linux无法删除文件夹 编辑:程序博客网 时间:2024/05/19 05:30

#define IOS5 ([[[UIDevice currentDevice] systemVersion] floatValue] <6.0)#define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]#define CurrentSystemVersion ([[UIDevice currentDevice] systemVersion])#if __IPHONE_OS_VERSION_MAX_ALLOWED <= __IPHONE_7_1#define IOS7 ((floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1))#else#define IOS7 ([[[UIDevice currentDevice] systemVersion] floatValue] <8.0)#endif#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1#define IOS8 ((floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1))#else#define IOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >7.1)#endif//自定义打印log方法#ifdef DEBUG    #   define MKLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);#else    #   define MKLog(...)#endif//判断是否使用ARC方法#if __has_feature(objc_arc)    #define SAFE_ARC_PROP_RETAIN strong    #define SAFE_ARC_RETAIN(x) (x)    #define SAFE_ARC_RELEASE(x)    #define SAFE_ARC_AUTORELEASE(x) (x)    #define SAFE_ARC_BLOCK_COPY(x) (x)    #define SAFE_ARC_BLOCK_RELEASE(x)    #define SAFE_ARC_SUPER_DEALLOC()    #define SAFE_ARC_AUTORELEASE_POOL_START() @autoreleasepool {    #define SAFE_ARC_AUTORELEASE_POOL_END() }#else    #define SAFE_ARC_PROP_RETAIN retain    #define SAFE_ARC_RETAIN(x) ([(x) retain])    #define SAFE_ARC_RELEASE(x) ([(x) release])    #define SAFE_ARC_AUTORELEASE(x) ([(x) autorelease])    #define SAFE_ARC_BLOCK_COPY(x) (Block_copy(x))    #define SAFE_ARC_BLOCK_RELEASE(x) (Block_release(x))    #define SAFE_ARC_SUPER_DEALLOC() ([super dealloc])    #define SAFE_ARC_AUTORELEASE_POOL_START() NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];    #define SAFE_ARC_AUTORELEASE_POOL_END() [pool release];#endif#define IPHONE_5_SCREEN_WIDTH    320#define IPHONE_6_SCREEN_WIDTH    375#define IPHONE_P_SCREEN_WIDTH    414#define IPHONE_4_SCREEN_HEIGHT  480 //640x960#define IPHONE_5_SCREEN_HEIGHT  568 //640x1136#define IPHONE_6_SCREEN_HEIGHT  667 //750x1334#define IPHONE_P_SCREEN_HEIGHT  736 //1242x2208#define IPHONE_SCREEN_WIDTH [[ UIScreen mainScreen ] bounds].size.width#define IPHONE_SCREEN_HEIGHT [[ UIScreen mainScreen ] bounds].size.height#define IS_IPHONE4 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,960), [[UIScreen mainScreen] currentMode].size) : NO)#define IS_IPHONE5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,1136), [[UIScreen mainScreen] currentMode].size) : NO)#define IS_IPHONE6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(750,1334), [[UIScreen mainScreen] currentMode].size) || CGSizeEqualToSize(CGSizeMake(640,1136), [[UIScreen mainScreen] currentMode].size)) : NO)#define IS_IPHONE6P ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? (CGSizeEqualToSize(CGSizeMake(1125,2001), [[UIScreen mainScreen] currentMode].size) || CGSizeEqualToSize(CGSizeMake(1242,2208), [[UIScreen mainScreen] currentMode].size)) : NO)#define IS_IPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)#define HEIGHT_5_MIN_SCALE(h)        floor(0.77294686*h)#define HEIGHT_6_MED_SCALE(h)      floor(0.9057971*h)#define HEIGHT_6P_MAX_SCALE(h)    floor(h/1.29375)//加载图片或者文件#define LOADIMAGE(fileName,ext) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:fileName ofType:ext]]


0 0
原创粉丝点击