iOS 宏定义
2022-03-23 本文已影响0人
郑莫轩
#pragma mark - 打印
#ifdef DEBUG
/// 打印信息💙
#define hdy_LogI(fmt, ...) NSLog((@"\n\n💙打印信息💙\n函数名称:%s [行号 %d]\n\n%@\n\n- - - - - - - - - - - - - - - -分 割 线- - - - - - - - - - - - - - - -\n\n"), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__, fmt);
/// 调试信息💚
#define hdy_LogD(fmt, ...) NSLog((@"\n\n💚调试信息💚\n函数名称:%s [行号 %d]\n\n%@\n\n- - - - - - - - - - - - - - - -分 割 线- - - - - - - - - - - - - - - -\n\n"), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__, fmt);
/// 错误信息❤️
#define hdy_LogE(fmt, ...) NSLog((@"\n\n❤️错误信息❤️\n函数名称:%s [行号 %d]\n\n%@\n\n- - - - - - - - - - - - - - - -分 割 线- - - - - - - - - - - - - - - -\n\n"), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__, fmt);
/// 未知信息💜
#define hdy_LogU(fmt, ...) NSLog((@"\n\n💜未知信息💜\n函数名称:%s [行号 %d]\n\n%@\n\n- - - - - - - - - - - - - - - -分 割 线- - - - - - - - - - - - - - - -\n\n"), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__, fmt);
#else
# define DLog(...)
#endif
#pragma mark - 宏定义判断
/// 判断是否是 刘海屏 系列
#define hdy_IS_Notch \
({BOOL isPhoneX = NO;\
if (@available(iOS 11.0, *)) {\
isPhoneX = [[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom > 0.0;\
}\
(isPhoneX);})
/// 判断是否为iPhone
#define hdy_IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
/// 判断是否为iPad
#define hdy_IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
/// 判断是否为iPod
#define hdy_IS_IPOD ([[[UIDevice currentDevice] model] isEqualToString:@"iPod touch"])
/// Block弱引用调用
#define hdy_WS(weakSelf) __weak __typeof(&*self) weakSelf = self;
#pragma mark - 常量
#define hdy_Height_Nav 64 // 无刘海屏 导航栏高度
#define hdy_Height_Nav_X 84 // 刘海屏 导航栏高度
#define hdy_Height_Bar 49 // 无刘海屏 底部TabBar高度
#define hdy_Height_Bar_X 83 // 刘海屏 底部TabBar高度
#define hdy_Width [UIScreen mainScreen].bounds.size.width // 屏幕宽
#define hdy_Height [UIScreen mainScreen].bounds.size.height // 屏幕高
#pragma mark - 字体设置
/// 正规字体
#define hdy_Font_Size(f) [UIFont systemFontOfSize:(f)]
/// 粗字体
#define hdy_Font_Bold_Size(f) [UIFont boldSystemFontOfSize:(f)]
/// 斜字体
#define hdy_Font_Italic_Size(f) [UIFont italicSystemFontOfSize:(f)]
#pragma mark - NSUserDefaults存储
/// 存值
#define hdy_UserDefault_Save(obj, key) [[NSUserDefaults standardUserDefaults] setObject:B forKey:A]
/// 取值
#define hdy_UserDefault_Fetch(key) [[NSUserDefaults standardUserDefaults] objectForKey:A]
#pragma mark - 获取图片资源
#define hdy_GetImage(imageName) [UIImage imageNamed:[NSString stringWithFormat:@"%@",imageName]]
#pragma mark - 颜色宏
#define hdy_ColorAPP [UIColor jk_colorWithHexString:@"86cdfd"] // APP主题颜色
#define hdy_ColorLine [UIColor jk_colorWithHexString:@"dcdcdc"] // 线条颜色
#define hdy_ColorWord [UIColor jk_colorWithHexString:@"333333"] // 常规-浅色字体
#define hdy_ColorWord_1 [UIColor jk_colorWithHexString:@"666666"] // 常规-浅色字体(较浅)
#define hdy_ColorWord_2 [UIColor jk_colorWithHexString:@"999999"] // 常规-浅色字体(更浅)
#define hdy_ColorDFBG [UIColor jk_colorWithHexString:@"efeff4"] // 控制器背景颜
#define hdy_ColorBGView [UIColor jk_colorWithHexString:@"efeff2"] // 浅色背景
#pragma mark - 正则式
/// 用于正则式
#define NUM @"0123456789"
#define ALPHA @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
#define ALPHANUM @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
/// 验证手机号及固话方法
#define TelephoneNUM @"^(0[0-9]{2,3})?([2-9][0-9]{6,7})+(-[0-9]{1,4})?$|(^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\\d{8}$)"
/// 判断社会信用代码证
#define SocialCreditNUM @"^([0-9ABCDEFGHJKLMNPQRTUWXY]{2})([0-9]{6})([0-9ABCDEFGHJKLMNPQRTUWXY]{9})([0-9Y])$"
/// 工商税号
#define BusinessCirclesNUM @"[0-9]\\\\d{13}([0-9]|X)$"
/// 邮政编码
#define CodeNUM @"^[0-8]\\\\d{5}(?!\\\\d)$"
/// 验证身份证号(15位或18位数字)
#define IDCardNUM @"\\d{14}[[0-9],0-9xX]"
/// 验证Email地址
#define EmailNUM @"^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\.\\w+([-.]\\w+)*$"
/// 整数或者小数
#define IntAndDecimalNUM @"^[0-9]+([.]{0,1}[0-9]+){0,1}$"
/// 验证URL
#define URLNUM @"^http://([\\w-]+\.)+[\\w-]+(/[\\w-./?%&=]*)?$"
/// 验证QQ
#define QQNUM @"[1-9][0-9]\{4,\}"
/// 匹配帐号是否合法
#define AccountLegalityNUM @"^[a-zA-Z][a-zA-Z0-9_]{4,15}$"
/// 只能输入汉字
#define ChineseCharactersNUM @"^[\u4e00-\u9fa5]{0,}$"
/// 匹配空白行的正则表达式
#define SpaceNUM @"^\n\s*\r"