2014-10-30 71 views
8

我最近一直在试图使用Interface Builder为视图设置相同的背景颜色,并使用[UIColor colorWithRed: green: blue: alpha:]以编程方式设置视图风格。尽管设置了相同的RGB值,但IB中的视图与代码中的样式略有不同。Xcode 6界面生成器 - 颜色选择器奇怪/错误?

我终于意识到这是与颜色空间有关 - 当我使用颜色选择器在IB中查看视图时,它显示颜色空间设置为'sRGB',而不是默认的'Generic RGB',UIColor使用。我从来没有改变自己的色彩空间设置。然后,我意识到发生了什么事情是,当您手动输入颜色选择器中的RGB值时,它会将颜色空间更改为'sRGB',而您并不知道颜色空间会产生不同的颜色。但是,如果您使用鼠标拖动滑块来更改值,则颜色空间保持为“通用RGB”,并且一切正常。

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

+0

嗯,手输入一个蓝色的值,这个值与我们通常使用的默认蓝色略有差距,并且在我们动态加载的图像中。可能是同样的问题! – 2014-10-30 23:16:33

+0

[Interface Builder中的颜色错误]的可能重复(http://stackoverflow.com/questions/14578759/wrong-color-in-interface-builder) – 2014-12-09 11:04:39

回答

1

我试着只用移动滑块的'技巧',但在我的情况下,即使这个改变了个人资料回到sRGB。我认为它肯定是一个错误,因为只有“处理方法”获得的代码和Interface Builder我发现完全相同的颜色如下:

  1. 决定要使用(在通用RGB)的RGB代码我的情况是“#1C202C”在通用RGB配置在Photoshop

  2. 开放新形象,填充颜色

  3. 进入菜单编辑 - >转换的背景资料,并转换为“的sRGB IEC61966-2.1 “

  4. 打开Photoshop的颜色选择器,并选择在新的色彩,新的RGB代码会显示出来......在我的情况“#252b3a”

如果您在Interface Builder的代码和IB使用此代码,然后颜色会完全一样。

1

解决方案是使用“设备RGB”而不是“通用RGB”。 enter image description here