很多地方我们都使用16进制颜色,但iPhone使用的是UIColor对象,不直接支持16进制颜色,为此,需要我们手动将16进制颜色转换为UIColor。
- (UIColor
{
unsigned int red,green,blue;
NSRange range;
range.length = 2;
range.location = 0;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&red];
range.location = 2;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&green];
range.location = 4;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]]scanHexInt:&blue];
return [UIColor
}
[self.view setBackgroundColor:[self getColor:@"FF0000"]];
一个面试题:使用内联函数把@“#ff3344”转成UIColor
- (UIColor *) stringTOColor:(NSString *)str { if (!str || [str isEqualToString:@""]) { return nil; } unsigned red,green,blue; NSRange range; range.length = 2; range.location = 1; [[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&red]; range.location = 3; [[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&green]; range.location = 5; [[NSScanner scannerWithString:[str substringWithRange:range]] scanHexInt:&blue]; UIColor *color= [UIColor colorWithRed:red/255.0f green:green/255.0f blue:blue/255.0f alpha:1]; return color; }
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/71816.html