我正在使用XCode 8.2.1。 我刚刚了解了颜色配置文件,并且RGB值不是通用的。 但仍然无法理解如何在代码中使其正确。 在Interface Builder中,我为标签选择了预定义的“深灰色”。通用RGB配置文件中为(85,85,85)。同样在代码中我将另一个标签颜色设置为[UIColor darkGrayColor]。我希望它们具有相同的颜色,但它们是不同的。
我用了方法
- (BOOL)getRed:(nullable CGFloat *)red green:(nullable CGFloat *)green blue:(nullable CGFloat *)blue alpha:(nullable CGFloat *)alpha
获取RGB值。对于在IB中设置颜色的标签,我看到实际上(104,104,104)的值对应于当切换到设备RGB配置文件时IB中的值。 所以似乎在代码中使用了设备RGB配置文件。
所以我的问题是:
答案 0 :(得分:10)
你好Jesse请看下面的答案:
Why standard "Dark Gray Color" is different when set in IB and in code?
强> 使用Dark Gray Color
并以编程方式标准Storyboard
不同,因为默认情况下Storyboard
使用sRGB IEC61966-2.1
或Generic RGB
Color Profile
并且以编程方式设置所以它需要Device RGB
Color profile
,因为那里的设备RGB iOS设备iPhones, iPads
在显示颜色配置文件方面具有不同的特性。
How to use Generic RGB profile in code, so I can match color values with Interface Builder?
强> 以编程方式设置UIColor
时,您无法选择任何Color Profile
,因为它需要Device RGB
Color Profile
。
如果你想使它相同,那么在你的故事板中选择你的颜色选择器,打开设置并将其改为Device RGB
请参阅以下使用Storyboard进行颜色配置文件设置的屏幕截图:
我希望它能帮助你......