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

8
我最近一直在为如何为使用Interface Builder和使用[UIColor colorWithRed: green: blue: alpha:]进行编程风格设置相同的背景颜色而苦恼。尽管设置了相同的RGB值,但在IB中设置的视图与在代码中进行的相比略有不同的颜色。我最终意识到这与颜色空间有关 - 当我使用颜色选择器检查IB中的视图时,它显示颜色空间设置为“sRGB”,而不是默认的“通用RGB”,这是UIColor使用的。我从未自己更改过颜色空间设置。然后我意识到发生的情况是,当你在颜色选择器中手动输入RGB值时,它会在你不知道的情况下将颜色空间更改为“sRGB”,从而产生不同的颜色。但是,如果您使用鼠标拖动滑块条来更改值,则颜色空间保持为“通用RGB”,一切都很好。这是一个错误吗,还是我误解了颜色选择器?我正在使用Xcode 6.1。

手动输入了一个视图的蓝色值,该值略微偏离我们通常使用的默认蓝色,并且在我们动态加载的图像中出现了相同的问题! - Lucas van Dongen
2个回答

2

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


1

我尝试了你的“技巧”,只使用滑块进行移动,但在我的情况下,即使这样也会将配置文件更改回sRGB。我认为这绝对是一个bug,因为我找到的唯一“变通方法”,可以使代码和界面生成器中的颜色完全相同,是以下步骤:

  1. 确定您想要使用的RGB代码(在通用RGB中),在我的情况下是“#1C202C”

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

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接