UIColor与IB颜色(颜色configuration文件问题)
我正在使用XCode 8.2.1。 我刚刚了解到颜色configuration文件,RGB值不是通用的。 但仍然无法理解如何使代码正确。 在界面生成器中,我为标签select了预定义的“深灰色”。 在通用RGBconfiguration文件中是(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)这些值与我在切换到Device RGBconfiguration文件时在IB中的值相对应。 所以看起来在代码中使用了RGB RGBconfiguration文件。
所以我的问题是:
- 为什么在IB和代码中设置标准的“深灰色”是不同的?
- 如何在代码中使用通用RGBconfiguration文件,所以我可以将颜色值与Interface Builder相匹配?
你好,杰西请看下面的答案:
-
Why standard "Dark Gray Color" is different when set in IB and in code?
由于Storyboard
使用sRGB IEC61966-2.1
或Generic RGB
Color Profile
默认情况下,并且当您以编程方式设置,所以它需要Device RGB
Color profile
因为设备RGB iOS设备在那里iPhones, iPads
具有不同的特点iPhones, iPads
标准Dark Gray Color
是不同的使用Storyboard
和编程在他们的显示颜色configuration文件方面。
-
How to use Generic RGB profile in code, so I can match color values with Interface Builder?
以编程方式设置UIColor
,您无法select任何Color Profile
因为它将采用Device RGB
Color Profile
。
如果你想使它相同,所以在故事板中select你的颜色select器,打开设置,并将其更改为Device RGB
请参阅下面的使用故事板的颜色configuration文件设置屏幕截图
我希望它会帮助你….