MacroLocal.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. //
  2. // MacroLocal.h
  3. // 乐销
  4. //
  5. // Created by 隋林栋 on 2016/12/13.
  6. // Copyright © 2016年 ping. All rights reserved.
  7. //
  8. #ifndef MacroLocal_h
  9. #define MacroLocal_h
  10. //判断
  11. #define isStr(T) ((T) && [(T) isKindOfClass:[NSString class]] && (T).length >0)
  12. #define isValidDou(T) ((T) && [(T) isKindOfClass:[NSString class]] && [(T) doubleValue])
  13. #define isAry(T) ((T) && [(T) isKindOfClass:[NSArray class]] && (T).count > 0)
  14. #define isNum(T) ((T) && [(T) isKindOfClass:[NSNumber class]])
  15. #define isDic(T) ((T) && [(T) isKindOfClass:[NSDictionary class]] && [(T) count] >0)
  16. #define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)
  17. #define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
  18. #define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
  19. /** 屏幕的SIZE */
  20. #define SCREEN_SIZE [[UIScreen mainScreen] bounds].size
  21. #define isIOS9 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0)
  22. #define isIOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
  23. #define isIOS7 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
  24. #define isIOS6 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0)
  25. #define isIphone5 ([UIScreen mainScreen].bounds.size.width == 320)
  26. #define isIphone6 ([UIScreen mainScreen].bounds.size.width == 375)
  27. #define isIphone6p ([UIScreen mainScreen].bounds.size.width == 414)
  28. #define isIphoneX ([UIScreen mainScreen].bounds.size.height == 812)
  29. /** define:屏幕的宽高比 */
  30. #define CURRENT_SIZE(_size) _size / 375.0 * SCREEN_SIZE.width
  31. #define gfWeakSelf(weakSelf) __weak __typeof(&*self)weakSelf = self
  32. //解包
  33. #define UnPackStr(T) (((T)&&([(T) isKindOfClass:NSString.class]||[(T) isKindOfClass:NSNumber.class]))?(T):@"")
  34. //封装
  35. #define strDotF(T) [NSString stringWithFormat:@"%.f",(T)]
  36. #define strF(T) [NSString stringWithFormat:@"%lf",(T)]
  37. #define str2F(T) [NSString stringWithFormat:@"%.2f",(T)]
  38. #define str4F(T) [NSString stringWithFormat:@"%.4f",(T)]
  39. #define NUM_DOU(T) [NSNumber numberWithDouble:(T)]
  40. #define NUM_INT(T) [NSNumber numberWithInt:(T)]
  41. #define isIOS9 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0)
  42. #define isIOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
  43. #define isIOS7 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
  44. #define isIOS6 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0)
  45. #define isIphone5 ([UIScreen mainScreen].bounds.size.width == 320)
  46. #define iSIphone6 ([UIScreen mainScreen].bounds.size.width == 375)
  47. #define isIphone6p ([UIScreen mainScreen].bounds.size.width == 414)
  48. #define isIphoneX ([UIScreen mainScreen].bounds.size.height == 812)
  49. #define CELL_SPACE W(115)
  50. #define Message_Font_Size 14 // 普通聊天文字大小
  51. #define Message_Detail_Font_Size 11 // 聊天记录消息文字大小
  52. #define RESPONSE_DATA @"data"//网络请求datas
  53. #define RESPONSE_MESSAGE @"message"//网络请求message
  54. #define RESPONSE_CODE @"succeed"//网络请求提示码
  55. #define RESPONSE_CODE_200 @(000)//请求成功
  56. #define RESPONSE_CODE_NEGATIVE100 @(700)//重新登陆
  57. #define TIME_REQUEST_OUT 8
  58. //选取照片数量
  59. #define NUM_IMAGE 20
  60. //Tag
  61. #define TAG_LINE 371
  62. #define TAG_KEYBOARD 372
  63. //选择cell 选择的内容
  64. typedef NS_ENUM(NSUInteger, ENUM_PICKCELL) {
  65. //选择时间格式
  66. ENUM_PICKER_DATE_YEAR_MONTH = 100,
  67. ENUM_PICKER_DATE_YEAR_MONTH_DAY,
  68. ENUM_PICKER_DATE_YEAR_MONTH_DAY_HOUR,
  69. ENUM_PICKER_DATE_YEAR_MONTH_DAY_HOUR_MIN,
  70. ENUM_PICKER_DATE_MONTH_DAY,
  71. ENUM_PICKER_DOUBLE_DATE_TIME,//选择两个日期 时间
  72. };
  73. //枚举
  74. typedef NS_ENUM(NSUInteger, ENUM_TEXTSTYPE) {
  75. ENUM_TEXTSTYPE_LEFT = 0,
  76. ENUM_TEXTSTYPE_RIGHT,
  77. };
  78. #define IS_iPhoneX (\
  79. {\
  80. BOOL isPhoneX = NO;\
  81. if (@available(iOS 11.0, *)) {\
  82. isPhoneX = [[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom > 0.0;\
  83. }\
  84. (isPhoneX);}\
  85. )
  86. #define EMVIEWTOPMARGIN (IS_iPhoneX ? 22.f : 0.f)
  87. #define LOCAL_ENUM_ORDER_STATUS_PAYMONEY_DISCREPANCY @"待收货"
  88. #endif /* MacroLocal_h */