我在将 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(例如)hexString,我们你看到有7位数字而不是6位,它不是十六进制颜色,任何帮助将不胜感激,谢谢。