Color

2023-04-19  本文已影响0人  奔跑吧小蚂蚁
typedef enum  {
    /// #E57349
     brand = 0,
    /// #232934
     primary,
    /// #232934
     contentPrimary,
    /// #4F545D
     contentSecondry,
    /// #7B7E85
     contentTertiary,
    /// #A8ABB3, 原 contentDisable
     contentQuaternary,
    /// #FFFFFF
     background1,
    /// #F3F3F5
     background2,
    /// #F8F8FA
     background3,
    /// #EEEEEE
     line,
    /// #509FFA
     tips,
    /// #65CD81
     safe,
    /// #FFB400
     warning,
    /// #F53C32
     error,
    /// clear color
     clear,
    /// #000000
     black,
    /// #CACACA
     contentSecondryForceLight,
    /// #757575
     contentTertiaryForceLight,
    /// #FFFFFF
     contentPrimaryForceLight,
    /// #FF8559
     mapColor1,
    /// #4D587B
     mapColor2,
    /// #A8ABB3
     contentDisable,
    /// #F3F3F5
     disable
} LColor_OCType;

typedef enum {
     Disable, // 0.3
     Mask, // 0.5,
     Press,// 0.8,
     Normal, // 1.0
} alpha;


@interface LColor_OC : NSObject

+(LColor_OC*)colorType:(LColor_OCType)type;

-(UIColor*)color;

-(UIColor*)color:(alpha)alpha;

@end

const NSString *ColorTypeStringMap[] = {
    /// #E57349
     [brand] = @"brand",
    /// #232934
     [primary] = @"primary",
    /// #232934
     [contentPrimary] = @"contentPrimary",
    /// #4F545D
     [contentSecondry] = @"contentSecondry",
    /// #7B7E85
     [contentTertiary] = @"contentTertiary",
    /// #A8ABB3, 原 contentDisable
     [contentQuaternary] = @"contentQuaternary",
    /// #FFFFFF
     [background1] = @"background1",
    /// #F3F3F5
     [background2] = @"background2",
    /// #F8F8FA
     [background3] = @"background3",
    /// #E5E5E5
     [line] = @"line",
    /// #509FFA
     [tips] = @"tips",
    /// #65CD81
     [safe] = @"safe",
    /// #FFB400
     [warning] = @"warning",
    /// #F53C32
     [error] = @"error",
    /// clear color
     [clear] = @"clear",
    /// #000000
     [black] = @"black",
    /// #CACACA
     [contentSecondryForceLight] = @"contentSecondryForceLight",
    /// #757575
     [contentTertiaryForceLight] = @"contentTertiaryForceLight",
    /// #FFFFFF
     [contentPrimaryForceLight] = @"contentPrimaryForceLight",
    /// #FF8559
     [mapColor1] = @"mapColor1",
    /// #4D587B
     [mapColor2] = @"mapColor2",
    /// #A8ABB3
     [contentDisable] = @"contentDisable",
    /// #F3F3F5
     [disable] = @"disable"
};


@interface LColor_OC ()

@property (nonatomic,assign) LColor_OCType colorType;//颜色分类

@end

@implementation LColor_OC


+(LColor_OC*)colorType:(LColor_OCType)type{
    
    LColor_OC * ocColor = [[LColor_OC alloc]init];
    ocColor.colorType = type;
    return  ocColor;
}

-(UIColor*)color{
    if (self.colorType == clear) {
        return [UIColor clearColor];
    }
    NSString * colorName = [self colorName];
    NSBundle *coreBundle = [OCHelper lui_coreBundle];

    UIColor * color = [UIColor colorNamed:colorName inBundle:coreBundle compatibleWithTraitCollection:nil];
    NSString * error = [NSString stringWithFormat:@"%@ 颜色可能没有配置!!",[self colorName]];
    NSAssert(color, error);
    return  color;
}

-(UIColor*)color:(alpha)alpha{
    
    CGFloat _alpha;
    switch (alpha) {
        case Normal:
            _alpha = 1.0;
            break;
        case Mask:
            _alpha = 0.5;
            break;
        case Press:
            _alpha = 0.8;
            break;
        case Disable:
            _alpha = 0.3;
            break;
        default:
            _alpha = 1.0;
            break;
    }
    
  UIColor * color =  [[self color]colorWithAlphaComponent:_alpha];
  return  color;
}

-(NSString*)colorName{
    NSString * colorName = ColorTypeStringMap[self.colorType];
    return  colorName;
}

@end

上一篇下一篇

猜你喜欢

热点阅读