您的位置:首页 > 产品设计 > UI/UE

将16进制转为 UIColor

2016-06-03 10:00 567 查看
+ (UIColor *) colorFromHexCode:(NSString *)hexString {

    NSString *cleanString = [hexString
stringByReplacingOccurrencesOfString:@"#"
withString:@""];

    if([cleanString
length] == 3) {

        cleanString = [NSString
stringWithFormat:@"%@%@%@%@%@%@",

                       [cleanString substringWithRange:NSMakeRange(0,
1)],[cleanString substringWithRange:NSMakeRange(0,
1)],

                       [cleanString substringWithRange:NSMakeRange(1,
1)],[cleanString substringWithRange:NSMakeRange(1,
1)],

                       [cleanString substringWithRange:NSMakeRange(2,
1)],[cleanString substringWithRange:NSMakeRange(2,
1)]];

    }

    if([cleanString
length] == 6) {

        cleanString = [cleanString stringByAppendingString:@"ff"];

    }

    

    unsigned int baseValue;

    [[NSScanner scannerWithString:cleanString]
scanHexInt:&baseValue];

    

    float red = ((baseValue >>
24) & 0xFF)/255.0f;

    float green = ((baseValue >>
16) & 0xFF)/255.0f;

    float blue = ((baseValue >>
8) & 0xFF)/255.0f;

    float alpha = ((baseValue >>
0) & 0xFF)/255.0f;

    

    return [UIColor
colorWithRed:red green:green
blue:blue alpha:alpha];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: