如何将hex转换为RGB

我想要从hex转换为RGB,但hex处理string像#FFFFFF。 我怎样才能做到这一点?

我刚刚为您扩展了我的UIColor类别。
使用它像UIColor *green = [UIColor colorWithHexString:@"#00FF00"];

 // // UIColor_Categories.h // // Created by Matthias Bauch on 24.11.10. // Copyright 2010 Matthias Bauch. All rights reserved. // #import <Foundation/Foundation.h> @interface UIColor(MBCategory) + (UIColor *)colorWithHex:(UInt32)col; + (UIColor *)colorWithHexString:(NSString *)str; @end // // UIColor_Categories.m // // Created by Matthias Bauch on 24.11.10. // Copyright 2010 Matthias Bauch. All rights reserved. // #import "UIColor_Categories.h" @implementation UIColor(MBCategory) // takes @"#123456" + (UIColor *)colorWithHexString:(NSString *)str { const char *cStr = [str cStringUsingEncoding:NSASCIIStringEncoding]; long x = strtol(cStr+1, NULL, 16); return [UIColor colorWithHex:x]; } // takes 0x123456 + (UIColor *)colorWithHex:(UInt32)col { unsigned char r, g, b; b = col & 0xFF; g = (col >> 8) & 0xFF; r = (col >> 16) & 0xFF; return [UIColor colorWithRed:(float)r/255.0f green:(float)g/255.0f blue:(float)b/255.0f alpha:1]; } @end 
 //In your header file #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] //usage UIColor *color = UIColorFromRGB(0x000000) //you can also use it inline [text.textField setTextColor:UIColorFromRGB(0xcccccc)]; 

这可能会帮助你

 UIColor *organizationColor = [self colorWithHexString:@"#ababab" alpha:1]; - (UIColor *)colorWithHexString:(NSString *)str_HEX alpha:(CGFloat)alpha_range{ int red = 0; int green = 0; int blue = 0; sscanf([str_HEX UTF8String], "#%02X%02X%02X", &red, &green, &blue); return [UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:alpha_range]; }