iOS:Interface Builder中定义的颜色与Web视图中的颜色不同

qqi*_*ihq 6 colors uiwebview uiview ios

我们正在构建一个iOS应用程序,它部分地利用UIWebViews来呈现一些UI元素.我注意到,故事板上定义的颜色与Web视图中具有相同值的颜色的呈现方式不同.下面的屏幕截图示出了在故事板并在模拟器三个示例颜色:#00C2F0,#00843C#FF008F.

移动颜色Interface Builder和Emulator

左方块显示background-color在a中呈现为CSS的每种颜色UIWebView,右方框显示UIView直接通过Interface Builder 指定为背景的颜色.

当我在Photoshop中截取屏幕并测量颜色值时,其中显示的颜色UIWebView与定义完全一致(即与上面给出的十六进制颜色值完全匹配),而通过它显示的颜色UIView会发生偏移.

我在iOS上阅读了几篇关于"错误"颜色的帖子,这解释了由于色彩管理导致的"问题",目的是在所有设备上(例如此处此处)具有一致的视觉外观.虽然这听起来很合理,但它并不能解释通过不同控件的不一致渲染.

我可以做些什么来实现iOS原生视图和在其中呈现的颜色之间的匹配颜色UIWebView

qqi*_*ihq 11

我终于解决了我的问题:原因并不UIWebView像我原先假设的那样具体,而是因为通过Interface Builder分配的颜色在sRGB颜色空间中.更改为"Generic RGB" 然后重新分配十六进制颜色值解决了我的问题.

颜色选择器颜色空间

非常有帮助的是这个问题和答案(我觉得重复的标志是不合理的).

  • 我认为Device RGB效果最好.像颜色选择器这样的应用程序然后检索xcode storyboard中定义的值. (2认同)