1.
int a = 0xff0550;
NSLog(@"a==%i",a);
NSString *str = @"0xff0550";
//先以16为参数告诉strtoul字符串参数表示16进制数字,然后使用0x%X转为数字类型
unsigned long red = strtoul([str UTF8String],0,16);
//strtoul如果传入的字符开头是“0x”,那么第三个参数是0,也是会转为十六进制的,这样写也可以:
NSLog(@"red转换完的数字为:%lu",red);
2.
//宏定义
#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]
// 示例
NSString *a = @"#FFFEE0";
NSString *aStr = [a stringByReplacingOccurrencesOfString:@"#" withString:@"0x"];
// NSLog(@"astr==%d",[aStr UTF8String]);
UIImageView *btnImg = [[UIImageView alloc] init];
btnImg.backgroundColor = UIColorFromRGB(strtoul([aStr UTF8String],0,16));