ios 常用的宏定义方法

#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]]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值