// // MacroLocal.h // 乐销 // // Created by 隋林栋 on 2016/12/13. // Copyright © 2016年 ping. All rights reserved. // #ifndef MacroLocal_h #define MacroLocal_h //判断 #define isStr(T) ((T) && [(T) isKindOfClass:[NSString class]] && (T).length >0) #define isValidDou(T) ((T) && [(T) isKindOfClass:[NSString class]] && [(T) doubleValue]) #define isAry(T) ((T) && [(T) isKindOfClass:[NSArray class]] && (T).count > 0) #define isNum(T) ((T) && [(T) isKindOfClass:[NSNumber class]]) #define isDic(T) ((T) && [(T) isKindOfClass:[NSDictionary class]] && [(T) count] >0) #define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width) #define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height) #define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending) /** 屏幕的SIZE */ #define SCREEN_SIZE [[UIScreen mainScreen] bounds].size #define isIOS9 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0) #define isIOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) #define isIOS7 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) #define isIOS6 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0) #define isIphone5 ([UIScreen mainScreen].bounds.size.width == 320) #define isIphone6 ([UIScreen mainScreen].bounds.size.width == 375) #define isIphone6p ([UIScreen mainScreen].bounds.size.width == 414) #define isIphoneX ([UIScreen mainScreen].bounds.size.height == 812) /** define:屏幕的宽高比 */ #define CURRENT_SIZE(_size) _size / 375.0 * SCREEN_SIZE.width #define gfWeakSelf(weakSelf) __weak __typeof(&*self)weakSelf = self //解包 #define UnPackStr(T) (((T)&&([(T) isKindOfClass:NSString.class]||[(T) isKindOfClass:NSNumber.class]))?(T):@"") //封装 #define strDotF(T) [NSString stringWithFormat:@"%.f",(T)] #define strF(T) [NSString stringWithFormat:@"%lf",(T)] #define str2F(T) [NSString stringWithFormat:@"%.2f",(T)] #define str4F(T) [NSString stringWithFormat:@"%.4f",(T)] #define NUM_DOU(T) [NSNumber numberWithDouble:(T)] #define NUM_INT(T) [NSNumber numberWithInt:(T)] #define isIOS9 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0) #define isIOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) #define isIOS7 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) #define isIOS6 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0) #define isIphone5 ([UIScreen mainScreen].bounds.size.width == 320) #define iSIphone6 ([UIScreen mainScreen].bounds.size.width == 375) #define isIphone6p ([UIScreen mainScreen].bounds.size.width == 414) #define isIphoneX ([UIScreen mainScreen].bounds.size.height == 812) #define CELL_SPACE W(115) #define Message_Font_Size 14 // 普通聊天文字大小 #define Message_Detail_Font_Size 11 // 聊天记录消息文字大小 #define RESPONSE_DATA @"data"//网络请求datas #define RESPONSE_MESSAGE @"message"//网络请求message #define RESPONSE_CODE @"succeed"//网络请求提示码 #define RESPONSE_CODE_200 @(000)//请求成功 #define RESPONSE_CODE_NEGATIVE100 @(700)//重新登陆 #define TIME_REQUEST_OUT 8 //选取照片数量 #define NUM_IMAGE 20 //Tag #define TAG_LINE 371 #define TAG_KEYBOARD 372 //选择cell 选择的内容 typedef NS_ENUM(NSUInteger, ENUM_PICKCELL) { //选择时间格式 ENUM_PICKER_DATE_YEAR_MONTH = 100, ENUM_PICKER_DATE_YEAR_MONTH_DAY, ENUM_PICKER_DATE_YEAR_MONTH_DAY_HOUR, ENUM_PICKER_DATE_YEAR_MONTH_DAY_HOUR_MIN, ENUM_PICKER_DATE_MONTH_DAY, ENUM_PICKER_DOUBLE_DATE_TIME,//选择两个日期 时间 }; //枚举 typedef NS_ENUM(NSUInteger, ENUM_TEXTSTYPE) { ENUM_TEXTSTYPE_LEFT = 0, ENUM_TEXTSTYPE_RIGHT, }; #define IS_iPhoneX (\ {\ BOOL isPhoneX = NO;\ if (@available(iOS 11.0, *)) {\ isPhoneX = [[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom > 0.0;\ }\ (isPhoneX);}\ ) #define EMVIEWTOPMARGIN (IS_iPhoneX ? 22.f : 0.f) #define LOCAL_ENUM_ORDER_STATUS_PAYMONEY_DISCREPANCY @"待收货" #endif /* MacroLocal_h */