【问题标题】:iOS: Colors defined in Interface Builder different from colors in Web ViewiOS:Interface Builder 中定义的颜色与 Web 视图中的颜色不同
【发布时间】:2016-01-25 09:44:45
【问题描述】:

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

左边的方块显示在UIWebView 中呈现为 CSS background-color 的每种颜色,右边的方块显示直接通过 Interface Builder 分配给 UIView 的背景颜色。

当我截取屏幕截图并在 Photoshop 中测量颜色值时,UIWebView 中显示的颜色与定义完全相同(即与上面给出的十六进制颜色值完全匹配),而通过UIView 显示的颜色是转移。

我已经阅读了几篇关于 iOS 上“错误”颜色的帖子,这些帖子解释了由于颜色管理导致的这个“问题”,目的是在所有设备上获得一致的视觉外观(例如 herehere)。虽然这听起来完全合理,但它并不能解释通过不同控件呈现不一致的情况。

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

【问题讨论】:

    标签: ios uiview colors uiwebview


    【解决方案1】:

    我终于解决了我的问题:原因不是我最初假设的UIWebView-specific,而是由通过 Interface Builder 分配的颜色在 sRGB 颜色空间中这一事实引起的。更改为“通用 RGB”然后重新分配十六进制颜色值解决了我的问题。

    this问答非常有帮助(我觉得重复的标志是不合理的)。

    【讨论】:

    • 对我来说,我在 Storyboard 中有两个 UIViewController,其中背景颜色具有相同的代码,但在视觉上看起来不同。我调查了不透明度和 alpha ......然后被卡住了。这解决了它。我不确定它们最初是如何设置不同的。
    • 我认为设备 RGB 效果最好。然后像颜色选择器这样的应用程序检索 xcode 故事板中定义的值。
    • 通用 RGB 对我有用。但是,设备 RGB确实可以匹配我的 Storyboard 和 Web 视图之间的颜色。
    猜你喜欢
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多