Xcode 6 Interface Builder - 颜色选择器奇怪/错误?

Jon*_*ham 8 xcode color-picker interface-builder uicolor ios

我最近一直在试图为使用Interface Builder设置的视图设置相同的背景颜色,以及以编程方式使用的视图[UIColor colorWithRed: green: blue: alpha:].尽管设置了相同的RGB值,但IB中设置的视图与代码中设置的颜色略有不同.

我终于意识到它与色彩空间有关 - 当我使用颜色选择器检查IB中的视图时,它显示颜色空间设置为'sRGB'而不是默认的'Generic RGB' UIColor使用.我自己从未改变色彩空间设置.然后我意识到发生的事情是,当您手动输入颜色选择器中的RGB值时,它会将颜色空间更改为"sRGB",因此您不必知道它给出不同的颜色.但是,如果使用鼠标拖动滑块来更改值,则颜色空间保持为"Generic RGB",一切都很好.

这是一个错误,还是我误解了颜色选择器?我正在使用Xcode 6.1.

Mat*_*mar 1

我尝试了仅移动滑块的“技术”,但在我的情况下,即使这也会将配置文件更改回 sRGB。我认为这绝对是一个错误,因为我发现在代码和界面生成器中获得完全相同颜色的唯一“解决方法”如下:

  1. 决定您要使用的 RGB 代码(通用 RGB),在我的例子中是“#1C202C”

  2. 在 Photoshop 中的通用 RGB 配置文件中打开新图像,并用颜色填充背景

  3. 转到菜单“编辑”->“转换为配置文件”并转换为“sRGB IEC61966-2.1”

  4. 打开 Photoshop 的颜色选择器并选择新颜色,新的 RGB 代码将会显示......在我的例子中为“#252b3a”

如果您在界面生成器中使用此代码,那么代码和 IB 中的颜色将完全相同。