Color

作者: 奔跑吧小蚂蚁 | 来源:发表于2023-04-19 21:37 被阅读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
    
    

    相关文章

      网友评论

          本文标题:Color

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