iOS 将颜色NSString转换为UInt32

2019-12-28  本文已影响0人  京北磊哥

有时候,我们在开发应用的时候,需要将得到的Json数据转换为我们所需要的类型,这里将介绍怎么将颜色NSString转换为UInt32。

例如,数据为#FFC000

//将#替换为0x
    NSString *typeColor = [allchant.ind_color stringByReplacingOccurrencesOfString:@"#" withString:@"0x"];
    //NSString转为UInt32
    NSScanner *scanner = [NSScanner scannerWithString:typeColor];
    unsigned hexNum;
    [scanner scanHexInt:&hexNum];
    self.backgroundColor = HEX_COLOR(hexNum); 
#define HEX_COLOR(h)  [UIColor colorWithRGBHex:(h)]
 
+ (UIColor *)colorWithRGBHex:(UInt32)hex {
    int r = (hex >> 16) & 0xFF;
    int g = (hex >> 8) & 0xFF;
    int b = (hex) & 0xFF;
    
    return [UIColor colorWithRed:r / 255.0f
                           green:g / 255.0f
                            blue:b / 255.0f
                           alpha:1.0f];
}
上一篇 下一篇

猜你喜欢

热点阅读