美文网首页
OC 常用宏

OC 常用宏

作者: IT | 来源:发表于2016-12-23 10:27 被阅读27次
    //判断空值方法
    static inline BOOL IsEmpty(id thing) {
        return thing == nil || [thing isEqual:[NSNull null]]
        || ([thing respondsToSelector:@selector(length)]
            && [(NSData *)thing length] == 0)
        || ([thing respondsToSelector:@selector(count)]
            && [(NSArray *)thing count] == 0);
    }
    
    //切边
    #define BezierPathRadius(View, Radius)\
    
    \
    
    UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:View.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(Radius, Radius)];\
    
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];\
    
    maskLayer.frame = View.bounds;\
    
    maskLayer.path = maskPath.CGPath;\
    
    View.layer.mask = maskLayer
    
    
    // View 圆角和加边框
    #define ViewBorderRadius(View, Radius, Width, Color)\
    \
    [View.layer setCornerRadius:(Radius)];\
    [View.layer setMasksToBounds:YES];\
    [View.layer setBorderWidth:(Width)];\
    [View.layer setBorderColor:[Color CGColor]]
    
    // View 圆角
    #define ViewRadius(View, Radius)\
    \
    [View.layer setCornerRadius:(Radius)];\
    [View.layer setMasksToBounds:YES]
    
    //获取Image
    #define IMG(NAME) [UIImage imageNamed:(NAME)]
    #define OrigIMG(a) [IMG(a) imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
    
    //读取本地图片
    #define LOADIMAGE(file,ext) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:ext]]
    
    //获取frame
    #define X(v)                    (v).frame.origin.x
    #define Y(v)                    (v).frame.origin.y
    #define WIDTH(v)                (v).frame.size.width
    #define HEIGHT(v)               (v).frame.size.height
    
    #define MinX(v)                 CGRectGetMinX((v).frame)
    #define MinY(v)                 CGRectGetMinY((v).frame)
    
    #define MidX(v)                 CGRectGetMidX((v).frame)
    #define MidY(v)                 CGRectGetMidY((v).frame)
    #define MaxX(v)                 CGRectGetMaxX((v).frame)
    #define MaxY(v)                 CGRectGetMaxY((v).frame)
    
    //获取系统版本
    #define SystemVersion [[UIDevice currentDevice] systemVersion]
    
    //忽略过期API警告
    #define SUPPRESS_DEPRECATED_WARNING(Stuff) \
    do { \
    _Pragma("clang diagnostic push") \
    _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") \
    Stuff; \
    _Pragma("clang diagnostic pop") \
    } while (0)
    
    //获取当前语言
    #define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])
    //屏高屏宽
    #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
    #define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)```

    相关文章

      网友评论

          本文标题:OC 常用宏

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