ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Interface Builder 中输入 RGB 值?

如何在 Interface Builder 中为背景输入 RGB 或 Hex 颜色值?我可以选择预定义的颜色,但我想手动输入 RGB 值。我在哪里可以做到这一点?


T
Tyler

https://i.stack.imgur.com/ombMG.png

单击颜色滑块图标,然后从下拉列表中选择“RGB 滑块”。

您还可以将放大镜用作颜色选择器,从屏幕上的任何位置选择准确的颜色;另请参阅下面@ken 的出色评论,阐明色彩空间如何与放大镜配合使用。


谢谢你的提示!随机问题,你用什么软件来覆盖那个截图?不错的补充。
实际上,请小心使用放大镜。只是组件编号不指定颜色,您还需要知道颜色空间。这就像字符串编码。 65 是 A 的 ASCII 编码。用于编码/解码组件的色彩空间位于上方“RGB”滑块左侧的小下拉菜单中。 “通用 RGB”颜色空间对应于使用 +[NSColor colorWithCalibratedRed:green:blue:alpha:] 制作的颜色。如果您使用放大镜,组件将根据“设备”空间给出,即当前屏幕。这是不合适的。之后选择通用。
糟糕,这个问题是针对 iPhone 的。 iPhone 没有配色。 sRGB 可能是其屏幕的最佳近似值,因此如果您想获得适合与 UIColor 一起使用的组件编号,请选择 sRGB 作为色彩空间。
我使用 Wacom Bamboo Fun 书写板在 Photoshop 中的屏幕截图上书写(Gimp 也适用于此)。使用 command-shift-4 截取屏幕截图,然后按空格并单击窗口。
有没有人遇到过这种情况:当我尝试移动颜色滑块时......它们只是弹回原来的位置。 (不过,如果我直接输入值,一切正常。)
C
Community

尽管 Tyler 的回答回答了这个问题,但您在使用选择器时可能会遇到问题,因为它使用了显示器的色彩空间(正如 Ken 所阐明的那样)。

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

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

https://i.stack.imgur.com/fP0zZ.png

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

https://i.stack.imgur.com/zTHme.png

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


十六进制字段不在您选择的色彩空间中的事实是一个可怕的功能。
@zimmryan 听起来像一个错误。谢谢欧普
天哪,非常感谢。它在 Xamarin.iOS 设计器中的工作方式完全相同,令人抓狂。您必须非常小心,只输入 RG 和 B 框,无论您做什么,都不要使用 Tab,因为您可能会选择 Hex 框,它会重置为 sRGB,您必须重新开始。
-1 坏建议。如果您使用 GenericRGB 作为工作空间并且在导出时不转换为 sRGB,那么您的 RGB 值将匹配,但您的颜色将不匹配。这就是为什么您必须使用奇怪的技巧来使您的屏幕截图匹配。如果您的 RGB 值必须真正匹配,则需要使用 sRGB 作为工作空间。否则,您可以在导出时转换为 sRGB。包含颜色配置文件没有帮助,因为 iOS 会忽略颜色配置文件(对于资产)。
K
Ken

听起来您对 Mac OS X 彩色面板不熟悉。单击颜色面板窗口顶部的选项卡以选择其他选择器。选择器也是插件,因此可以为颜色选择添加新的 UI。例如,参见 developer color picker


佚名

我知道这是一个老问题,但我今天需要找出同样问题的答案,这让我走上了正轨。 panic.com 的颜色选择器确实安装正确,但颜色选择器下拉菜单中的十六进制选项始终将其设置为 RGB。所以不好。相反,我发现了这个:

http://wafflesoftware.net/hexpicker/

这显示了十六进制值,它完全适用于 Xcode 5.0.1 和 Mavericks。


T
Taryn

https://i.stack.imgur.com/p4JPY.png

检查上面的快照,在颜色托盘中,选择第二个按钮(RGB 滑块(矩形图像) - 它位于托盘顶部的圆圈旁边)。在那里您可以输入 RGB 值。