首页 > 代码库 > 颜色转换 IOS中十六进制的颜色转换为UIColor

颜色转换 IOS中十六进制的颜色转换为UIColor

可用类别写一个  方便使用

+ (UIColor *) colorWithHexString: (NSString *)color

{

    NSString *cString = [[colorstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]] uppercaseString];

    

    // String should be 6 or 8 characters

   if ([cString length] <6) {

       return [UIColorclearColor];

    }

    

    // strip 0X if it appears

   if ([cString hasPrefix:@"0X"])

        cString = [cStringsubstringFromIndex:2];

   if ([cString hasPrefix:@"#"])

        cString = [cStringsubstringFromIndex:1];

   if ([cString length] !=6)

       return [UIColorclearColor];

    

    // Separate into r, g, b substrings

   NSRange range;

    range.location =0;

    range.length =2;

    

   //r

   NSString *rString = [cString substringWithRange:range];

    

   //g

    range.location =2;

   NSString *gString = [cString substringWithRange:range];

    

   //b

    range.location =4;

   NSString *bString = [cString substringWithRange:range];

    

    // Scan values

   unsigned int r, g, b;

    [[NSScannerscannerWithString:rString] scanHexInt:&r];

    [[NSScannerscannerWithString:gString] scanHexInt:&g];

    [[NSScannerscannerWithString:bString] scanHexInt:&b];

    

   return [UIColorcolorWithRed:((float) r /255.0f) green:((float) g /255.0f) blue:((float) b /255.0f) alpha:1.0f];

}

颜色转换 IOS中十六进制的颜色转换为UIColor