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"

上一篇下一篇

猜你喜欢

热点阅读