iOS:界面生成器中定义的颜色与Web视图中定义的颜色不同
我们正在构建一个iOS应用程序,它部分地利用了iOS:界面生成器中定义的颜色与Web视图中定义的颜色不同,ios,uiview,colors,uiwebview,Ios,Uiview,Colors,Uiwebview,我们正在构建一个iOS应用程序,它部分地利用了UIWebViews来呈现一些UI元素。我注意到,序列图像板上定义的颜色与Web视图中具有相同值的颜色呈现方式不同。以下屏幕截图显示了故事板和模拟器中的三种示例颜色:\00C2F0、\00843C和\FF008F 左方框显示了UIWebView中呈现为CSSbackground color的每种颜色,右方框显示了直接通过Interface Builder指定为UIView背景的颜色 当我在Photoshop中拍摄屏幕截图并测量颜色值时,UIWebV
UIWebView
s来呈现一些UI元素。我注意到,序列图像板上定义的颜色与Web视图中具有相同值的颜色呈现方式不同。以下屏幕截图显示了故事板和模拟器中的三种示例颜色:\00C2F0
、\00843C
和\FF008F
左方框显示了UIWebView
中呈现为CSSbackground color
的每种颜色,右方框显示了直接通过Interface Builder指定为UIView
背景的颜色
当我在Photoshop中拍摄屏幕截图并测量颜色值时,UIWebView
中显示的颜色与定义完全一致(即与上面给出的十六进制颜色值完全匹配),而通过UIView
显示的颜色会发生偏移
我读过几篇关于iOS上“错误”颜色的帖子,这些帖子解释了这个“问题”,因为颜色管理的目标是在所有设备(例如,或)上保持一致的视觉外观。虽然这听起来完全合理,但它并不能解释通过不同控件进行的不一致渲染
我能做些什么来实现iOS本机视图和
UIWebView
中呈现的颜色之间的匹配吗?我最终解决了我的问题:原因不是我最初假设的特定于UIWebView
,而是因为通过Interface Builder分配的颜色在sRGB颜色空间中。更改为“通用RGB”然后重新分配十六进制颜色值解决了我的问题
问答非常有帮助(我觉得复制标志是不合理的)。对于我来说,我在一个故事板中有两个UIViewController,其中背景颜色具有相同的代码,但在视觉上看起来不同。我已经调查了透明度和alpha…然后被卡住了。这就解决了问题。我不确定它们最初是如何被设置成不同的。我认为设备RGB工作得最好。然后,像颜色选择器这样的应用程序检索xcode情节提要中定义的值。通用RGB对我不起作用。然而,设备RGB确实能够在我的故事板和网络视图之间匹配颜色。