iOS 开发中常用的宏定义

作者: 胡胡LoL | 来源:发表于2017-05-25 17:05 被阅读38次

    iOS 开发中常用的一些宏定义

    1.关于设置颜色

    //设置颜色
    ①.常见的方式
    #define HHGlobalBackgroundColor [UIColor colorWithRed:245/255.0 green:245/255.0 blue:245/255.0 alpha:1.0]
    
    #define HHCommonColor [UIColor colorWithRed:152/255.0 green:158/255.0 blue:0/255.0 alpha:1.0]  
    ②.书写方便的宏
    #define HHColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]
    
    ③.16进制RGB的颜色转换 --->推荐使用
    #define HHColorFromHex(rgbValue) [UIColor \
    colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
    green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
    blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
    使用时直接调用宏定义:后面直接传入 `0x(0~f)`
    例如:[dateLabel setTextColor:ZNColorFromHex(0x989e00)];
    
    ④.随机色
    #define HHRandomColor JYJColor(arc4random_uniform(256), arc4random_uniform(256), arc4random_uniform(256))
    

    2.自定义 Log

    #ifdef DEBUG
    #define HHLog(...) NSLog(__VA_ARGS__)
    #else
    #define HHLog(...)
    #endif
    #define HHLogFunc HHLog(@"%s",__func__);  
    
    //重写HHNSLog,Debug模式下打印日志和当前行数
    #if DEBUG
    #define HHNSLog(FORMAT, ...) fprintf(stderr,"\nfunction:%s line:%d content:%s\n", __FUNCTION__, __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
    #else
    #define HHNSLog(FORMAT, ...) fprintf(stderr,"\nfunction:%s line:%d content:%s\n", __FUNCTION__, __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
    #endif
    

    3.弱引用

    #define HHWeakSelf __weak typeof(self) weakSelf = self
    

    4.通知

    #define HHNotiCenter [NSNotificationCenter defaultCenter]
    

    5.UserDefault

    #define HHUserDefaults [NSUserDefaults standardUserDefaults]
    

    6.常用的宽高

    #define HHScreenH [UIScreen mainScreen].bounds.size.height
    #define HHScreenW [UIScreen mainScreen].bounds.size.width
    #define HHScreenBounds [UIScreen mainScreen].bounds
    #define HHKeyWindow [UIApplication sharedApplication].keyWindow
    #define HHRootTabBarController (UITabBarController *)HHKeyWindow.rootViewController
    

    7.OC 的框架

    #ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
    #pragma mark - 头文件
    #import "xxxxxx"   //放入要用的头文件
    #endif
    

    8.沙盒路径

    #define HHCaches [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]
    

    9.

    内容持续更新中,有用就拿走........顺便点个赞,谢谢大家的支持!

    相关文章

      网友评论

      本文标题:iOS 开发中常用的宏定义

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