【发布时间】:2015-01-20 04:18:41
【问题描述】:
我发现当您在 xib 中设置视图的 backgroundColor 时,显示的颜色与您以编程方式设置 backgroundColor 时明显不同。
这是一个例子。
在这个简单的演示中我有两个视图。我在xib中设置了上层视图的backgroundColor,如下所示:
十六进制颜色值为 0x1BA9BA。然后我使用相同的十六进制颜色值以编程方式设置下部视图的背景颜色。我使用以下代码:
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 滑块设置更改为 sRGB 或设备 RGB。
-
@gabbler 它是 sRGB。我也试过设备RGB,结果是一样的。
-
请使用通用的RGB色彩空间,先改变空间再修改rgb值,这样上视图就和下视图一样了。
-
@gabbler 我试过你说的,它有效!非常感谢:)
-
@gabbler 是的,我独立地证明了这一点(没有看到你的评论)。随意输入作为答案 - 你第一个出现并发现。
标签: ios objective-c