美文网首页
iOS 宏定义

iOS 宏定义

作者: 郑莫轩 | 来源:发表于2022-03-23 09:44 被阅读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"
    
    

    相关文章

      网友评论

          本文标题:iOS 宏定义

          本文链接:https://www.haomeiwen.com/subject/vnkcjrtx.html