即使 RGB 值相同,颜色也不同

5
我在Xcode的Interface Builder中遇到了一个非常奇怪的颜色问题。我已经将视图控制器中的背景设置为#1F242Cview controller's view background 目前为止一切顺利。然后,我在nib文件中创建了一个UITableViewCell,并将其背景设置为完全相同的颜色#1F242Ctable view cell view background 现在当我启动应用程序时,尽管RGB值和不透明度都匹配,但UITableViewCell的背景与视图控制器视图的背景突然不同。
当我用Photoshop分析截图时:
视图的背景是:#29303A 单元格的背景是:#1F242C 尽管RGB值相同,它们为什么是不同的颜色?我没有在源代码中以编程方式更改颜色。
以下是不同颜色的外观: enter image description here

在您的调试视图层次结构中,您能否检查已创建的视图?颜色是否仍然不同,并且在您期望它们出现的视图上?可能是有一个视图重叠导致了这个问题吗? - Rikh
你能发一张视图不同颜色的屏幕截图吗? - Frankie
我已经发布了一个视图的截图 - productioncoder
由于tableView和cell的背景颜色相同,您可以尝试将cell的背景设置为透明色。我也曾经遇到过这种情况,但是我找不到原因。 - Adeel Miraj
1个回答

12

这是由于iOS 10以及新设备屏幕的扩展色域所致。

在您的颜色选择器中,单击“RGB滑块”右侧的轮子,然后选择sRGB IEC61966 2-1。

此时,您将看到RGB值发生了变化。将它们还原为先前输入的RGB值即可解决问题。

color gamut


这个问题只会在Storyboard中直接设置颜色时出现吗?关于通过编程方式设置颜色的情况如何? - Gruntcakes
@Essenceofchicken 是的,问题出在Storyboard上。在最新的Xcode中,您必须更改此参数以匹配程序创建的UIColor(在最新版本中不会更改)。 - Matthias

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