Ios Xcode 8:界面生成器显示设置的不同颜色

Ios Xcode 8:界面生成器显示设置的不同颜色,ios,swift,uiview,colors,interface-builder,Ios,Swift,Uiview,Colors,Interface Builder,请看下图: 这是两个地方使用的相同十六进制#28647B。 下半部分根据代码设置,并显示为正确反映颜色: let proxy = UIPageControl.appearance() proxy.pageIndicatorTintColor = UIColor.lightGray.withAlphaComponent(0.6) proxy.currentPageIndicatorTintColor = UIColor.white proxy.backgroundColor = UIColor(

请看下图:

这是两个地方使用的相同十六进制#28647B。 下半部分根据代码设置,并显示为正确反映颜色:

let proxy = UIPageControl.appearance()
proxy.pageIndicatorTintColor = UIColor.lightGray.withAlphaComponent(0.6)
proxy.currentPageIndicatorTintColor = UIColor.white
proxy.backgroundColor = UIColor(red: 40.0/255.0, green: 100.0/255.0, blue: 123.0/255.0, alpha: 1.0)
上部在interface builder中设置

我检查了所有其他图层、不透明度参数等,没有发现任何可以改变这种颜色外观的东西

有趣的是,我使用HexColor mac应用程序检查了两种颜色,结果如下:

上半部分:

不确定RGB因子与正确因子之间的差异意味着什么,但结果是正确的

现在,检查下部的时间:

这次RGB看起来不错,但结果不同

现在这是最好的部分:


当我像在外观代理中那样从代码中设置背景色时,效果很好。界面生成器是否指定了一些更改背景色可见阴影的内容?如何依赖界面生成器中设置的颜色?

在我的项目中,我解决了这个问题,选择了“设备RGB”而不是“通用RGB”。一些当颜色不变时,移动不透明度并设置颜色。 如图所示:


如果您制作了一个资产目录,并在其中添加了您的颜色,您可以将其作为输入

设备:通用 内容:国标 输入法:8位十六进制


以这种方式添加所有应用程序颜色,并通过它们的资产目录名称引用它们,所有十六进制值将被正确保留和显示。

这可能与苹果引入了更宽的颜色空间有关。我建议你调查一下,我也有同样的问题。你找到解决方法了吗?不幸的是,没有,还在等待答案我也有同样的问题。就我而言,UIButton@LukasPetr我也这么想。在界面生成器中,可以通过单击下拉菜单右侧的控制盘按钮来选择颜色空间。但如何在代码中做到这一点?@DCDC我认为应该是iOS 10及以后的sRGB。在为iOS 10或更高版本链接的应用程序上,颜色在扩展范围的sRGB颜色空间中指定。在iOS的早期版本上,颜色在设备RGB颜色空间中指定