#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]]
ios 常用的宏定义方法
最新推荐文章于 2021-05-28 14:39:52 发布