iOS中的hex颜色不准确

我发现当你在xib中设置视图的backgroundColor时,显示的颜色与以编程方式设置backgroundColor的颜色明显不同。

这是一个例子。

我在这个简单的演示中有两个观点。 我在xib中设置了上层视图的backgroundColor,像这样: 在这里输入图像说明

hex颜色值是0x1BA9BA。 然后我用相同的hex颜色值以编程方式设置较低视图的backgroundColor。 我使用下面的代码:

NSInteger hexValue = 0x1ba9ba; self.testView.backgroundColor = [UIColor colorWithRed:((float)((hexValue & 0xFF0000) >> 16)) / 255.0 green:((float)((hexValue & 0xFF00) >> 8)) / 255.0 blue:((float)(hexValue & 0xFF))/255.0 alpha:1.0]; 

结果如下:

在这里输入图像说明

正如你所看到的,颜色有明显的不同。 我在这里错过了什么?

我将RGB滑块应用到第一个视图,将代码应用到第二个视图,模拟器中的颜色与我的眼睛完全相同; 这是模拟器的屏幕截图:

在这里输入图像说明

但是,当颜色select器的颜色空间设置为通用RGB时,我将这些数字input到颜色select器(27,169,186)。 如果我切换到sRGB, 然后input这些数字,我可以重现您的问题。 所以毕竟是色彩空间问题; 只需将颜色空间设置为通用RGB,现在数字将匹配。