OC 十六进制色值转 RGB

把十六进制的色值转换成 RGB
+ (UIColor *)colorWithHexColor:(NSString *)hexColorString {
    if ([hexColorString hasPrefix:@"#"]) {
        hexColorString = [hexColorString substringFromIndex:1];
    }
    
    if (hexColorString.length != 6) {
        return  nil;
    }
    
    NSRange range = NSMakeRange(0, 2);
    NSString *redStr = [hexColorString substringWithRange:range];
    range.location = 2;
    NSString *greenStr = [hexColorString substringWithRange:range];
    range.location = 4;
    NSString *blueStr = [hexColorString substringWithRange:range];
    
    unsigned int red, green, blue;
    [[NSScanner scannerWithString:redStr] scanHexInt:&red];
    [[NSScanner scannerWithString:greenStr] scanHexInt:&green];
    [[NSScanner scannerWithString:blueStr] scanHexInt:&blue];
    
    return [UIColor colorWithRed:red / 255.0f  green:green / 255.0f blue:blue / 255.0f alpha:1];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容