24

我有一个带有棕色图像的 UIImageView,它不会总是到达顶部。UIImage 视图位于白色 UIView 内。

所以,因为图像的顶部是线性的棕色,我说我会让它下面的 UIView 变成同样的棕色,用户不会看到图像在哪里结束。到现在为止还挺好。

我的问题是,当我选择图像顶部的颜色时,颜色选择器会选择比实际颜色更深的颜色:(

在我单击颜色选择器之前: 在此处输入图像描述

单击颜色选择器后: 在此处输入图像描述

怎么会 ?

4

6 回答 6

32

只是想用一些截图详细说明接受的答案。

如果您想在 Photoshop 和 Xcode 之间精确匹配 RGB 值(无需在颜色空间之间进行转换),那么您需要将图像保存为通用 RGB 并使用通用 RGB 颜色空间输入任何滴管值。

  • 当您从 Photoshop 中选择“保存为 Web 和设备”时,取消选中“转换为 sRGB”框。

在此处输入图像描述

  • 在 Xcode 中,单击颜色选择器中的颜色空间弹出窗口并选择“通用 RGB”,然后从 Photoshop 输入红色、绿色和蓝色值,而不是十六进制值,因为这会由于某种原因恢复为 sRGB 颜色空间(注意不要选项卡到十六进制字段,因为这也会将色彩空间更改为 sRGB)。

在此处输入图像描述

更多信息在这里,包括如何匹配屏幕截图。

于 2014-12-03T23:45:27.727 回答
14

我设法在这个答案中找到了解决方案/解释(尽管我仍然很困惑):https ://stackoverflow.com/a/9203647/460750

基本上,我为解决我的问题所做的就是从 RGB“类型”中选择(颜色选择器下的那个小方块)Apple RGB选项,然后手动输入 R、G 和 B 值,而不是使用选择器。

奇怪的...

于 2012-10-02T11:09:10.660 回答
2

这是因为组件编号没有指定颜色。我们还需要知道 xCode 使用的颜色空间。RGB 滑块左侧的下拉菜单中提供了编码或解码的色彩空间。

在此处输入图像描述

默认情况下,xCode 选择“通用 RGB”,这就是 UIColor 使用来自 RGB 的规范颜色。如果我们使用放大镜,它将更改为“设备 RGB”空间,这取决于您当前的屏幕。因此,如果您使用放大镜,“sRGB”或“Adobe RGB”会更好或更接近您想要的选择一种颜色。

于 2014-09-03T19:16:08.367 回答
1

我认为通用 RGB 也可以。诀窍是您需要在下拉列表中更改 RGB 模式后手动输入 RGB 的数量

奇怪...(太)

于 2013-01-04T09:29:47.880 回答
0

更新 10.10.4

我也遇到了这个问题,我向 Apple 报告了它,它似乎已经在 10.10.4 上得到了解决(它与颜色选择器本身有关,与 Xcode/IB 无关)

其他人可以确认吗?

于 2015-07-01T10:10:01.447 回答
0

这是一个老问题,但对我来说添加一些信息很重要。多年来,唯一对我有效的方法是不使用 PS 的拾色器,而是使用 macOS 的内置“数字色度计”

在此处输入图像描述

它与 macOS 的每个安装捆绑在一起,并且从那里发出的带有“通用 RGB”的 RGB 值总是在 Xcode 故事板中重现正确的颜色。

在此处输入图像描述

于 2017-11-29T09:28:43.153 回答