就像标题所说我想使用颜色代码而不是做这样的事情
lblTemp.textColor = [UIColor colorWithRed: 0 green:0x99/255.0 blue:0 alpha:1.0];
例如我有以下颜色代码#30ae36如何使用此代码而不是上述代码。
答案 0 :(得分:3)
我使用这个方便的宏:
#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]
(我可能已经得到它from here,但你可以在很多地方找到它。无论如何,在这个链接上阅读关于宏与内联函数的讨论是值得的。)
如果要从字符串(例如从plist)初始化颜色,可以使用:
unsigned rgbValues;
[[NSScanner scannerWithString:@"0xFF0000"] scanHexInt: &rgbValues];
UIColor* redColor = UIColorFromRGB(rgbValues);
答案 1 :(得分:2)
UIColor没有为它提供默认方法,但是,您可以为UIColor创建一个所谓的category,它取十六进制值(没有#)并将其转换为相应的RGB组件并使用那些组件要提供给UIColor的colorWithRed:绿色:蓝色:alpha:。
答案 2 :(得分:0)
这应该可以解决这个代码#30ae36
的问题lblTemp4.textColor = [UIColor colorWithRed:0x*30*/255.0 green:0x*AE*/255.0 blue:0x*36*/255.0 alpha:1.0];
答案 3 :(得分:0)
在上一个答案中,来自 jovany 的* *星号应该省略。所以#30ae36变成了:
lblTemp4.textColor = [UIColor colorWithRed:0x30/255.0 green:0xAE/255.0 blue:0x36/255.0 alpha:1.0];
(可能很明显,但我一眼就看不到它)