我在将UIColor转换为十六进制颜色时遇到问题,以下是我找到的内容:
CGColorRef colorref = [[Colorview_ backgroundColor] CGColor];
int numComponents = CGColorGetNumberOfComponents(colorref);
if (numComponents == 4) {
const CGFloat *components = CGColorGetComponents(colorref);
int hexValue = 0xFF0000*components[0] + 0xFF00*components[1] + 0xFF*components[2];
NSString *hexString = [NSString stringWithFormat:@"#%d", hexValue];
}
这段代码给我返回了#5576149(例如),如你所见有7个数字而非6个,这不是一个十六进制颜色。希望能得到帮助,谢谢。