iOS開發--顏色支持十六進制

新建一個顏色的類文件spa

#import "UIColor+Hex.h"blog

+(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];
}
相關文章
相關標籤/搜索