• 工具类(为控件设置色值)


    为了便于日常开发效率,因此创建了一些小的工具类便于使用.
    具体 code 如下:
    声明:

    /*
        为控件设置色值
     */
    #import <UIKit/UIKit.h>
     
    @interface UIColor (FYH)
     
     
    /**
     根据RGB颜色值生成UIColor
     @param rgbValue    颜色值
     @param alpha       透明度(0-1)之间
     @return            结果样式
     */
    + (UIColor *)colorFromRGB:(NSInteger)rgbValue withAlpha:(CGFloat)alpha;
    + (UIColor *)colorFromRGB:(NSInteger)rgbValue;
     
     
     
    /**
     根据十六进制颜色值生成UIColor
     @param hexString   十六进制色值
     @return            结果样式
     */
    + (UIColor *)colorWithHexString:(NSString *)hexString;
     
     
     
    /**
     根据十六进制颜色值生成UIColor
     @param hexString   十六进制色值
     @param alpha       透明度(0-1)之间
     @return            结果样式
     */
    + (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha;
    + (UIColor *)colorWithHexStringWithAlpha:(NSString *)hexString;
     
    @end
    

    实现:

    #import "UIColor+FYH.h"
     
    @implementation UIColor (FYH)
     
    + (UIColor *)colorFromRGB:(NSInteger)rgbValue withAlpha:(CGFloat)alpha  {
        return [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0
                               green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0
                                blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:alpha];
        
    }
     
    + (UIColor *)colorFromRGB:(NSInteger)rgbValue {
        return [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0
                               green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0
                                blue:((float)(rgbValue & 0xFF)) / 255.0 alpha:1.0];
        
    }
     
    /**
     * hexString eg. #ff0000
     */
    + (UIColor *)colorWithHexString:(NSString *)hexString {
        return [UIColor colorWithHexString:hexString alpha:1.0];
    }
     
    /**
     * hexString eg. #ffffffff
     */
    + (UIColor *)colorWithHexStringWithAlpha:(NSString*)hexString {
        if ([hexString hasPrefix:@"0x"] || [hexString hasPrefix:@"0X"]) {
            hexString = [hexString substringFromIndex:2];
        } else if ([hexString hasPrefix:@"#"]) {
            hexString = [hexString substringFromIndex:1];
        }
        
        unsigned int value = 0;
        BOOL flag = [[NSScanner scannerWithString:hexString] scanHexInt:&value];
        if(NO == flag)
            return [UIColor clearColor];
        float r, g, b, a;
        a = (value & 0x000000FF) / 255.0;
        value = value >> 8;
        b = value & 0x000000FF;
        value = value >> 8;
        g = value & 0x000000FF;
        value = value >> 8;
        r = value;
        
        return [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a];
    }
     
    + (UIColor *)colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha {
        if ([hexString hasPrefix:@"0x"] || [hexString hasPrefix:@"0X"]) {
            hexString = [hexString substringFromIndex:2];
        } else if ([hexString hasPrefix:@"#"]) {
            hexString = [hexString substringFromIndex:1];
        }
        
        unsigned int value = 0;
        BOOL flag = [[NSScanner scannerWithString:hexString] scanHexInt:&value];
        if(NO == flag)
            return [UIColor clearColor];
        float r, g, b, a;
        a = alpha;
        b = value & 0x0000FF;
        value = value >> 8;
        g = value & 0x0000FF;
        value = value >> 8;
        r = value;
        
        return [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a];
    }
     
    @end
    

    以上便是此次分享的内容,期待大神多多指点补充,使其更加强壮!

  • 相关阅读:
    小例子-使用JS/JQ获取a标签的href网址
    R语言随手记-线性回归模型诊断
    R语言随手记-数据处理
    正选择分析-PAML discussion group
    ggtree-基本函数使用
    PhastCons
    R语言随手记-批量读取和循环处理多个数据文件
    变异位点有害性软件评估
    ggplot画图-分页and排序
    R画图-标题和坐标轴篇
  • 原文地址:https://www.cnblogs.com/survivorsfyh/p/9598179.html
Copyright © 2020-2023  润新知