iOS开发--颜色支持十六进制

新建一个颜色的类文件

#import "UIColor+Hex.h"

+(UIColor*)colorWithHexString:(NSString *)color alpha:(CGFloat)alpha
{
    //删除字符串的空格
    NSString *cString =[[color stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];
    
    if ([cString  length] <6) {
        return [UIColor  clearColor];
    }
    if ([cString hasPrefix:@"0X"]) {
        cString = [cString  substringFromIndex:2];
        
    }
    if ([cString  hasPrefix:@"#"]) {
        cString = [cString  substringFromIndex:1];
    }
    if ([cString  length] !=6) {
        return [UIColor  clearColor];
    }
    NSRange range;
    range.location = 0;
    range.length = 2;
    NSString *rString = [cString  substringWithRange:range];
    range.location = 2;
    NSString *gString = [cString  substringWithRange:range];
    range.location = 4;
    NSString *bString =[cString  substringWithRange:range];
    unsigned r,g,b;
    [[NSScanner  scannerWithString:rString]scanHexInt:&r];
    [[NSScanner  scannerWithString:gString]scanHexInt:&g];
    [[NSScanner  scannerWithString:bString]scanHexInt:&b];
    return [UIColor  colorWithRed:((float)r/255.0f) green:((float)g/255.0f) blue:((float)b/255.0f) alpha:alpha];
    
    
}
+(UIColor*)colorWithHexString:(NSString *)color
{
    
    return [self  colorWithHexString:color alpha:1.0f];
}

 

posted @ 2016-08-26 14:31  qinxiaoguang  阅读(196)  评论(0编辑  收藏  举报