故事板中的颜色与UIColor不匹配

Nic*_*ick 58 colors interface-builder uicolor ios uistoryboard

我在代码中定义了一种颜色

[UIColor colorWithHue:32.0/360.0 saturation:0.88 brightness:0.97 alpha:1]
Run Code Online (Sandbox Code Playgroud)

如果我尝试在故事板中设置相同的颜色,则在运行App时,它与代码中定义的颜色略有不同.如果我将颜色拖到上颚,然后选择不同的颜色并再次选择上颚,HSB值略有不同.它似乎是在界面构建器中捕捉到不同的(RGB?)颜色.

小智 199

Xcode 8 +,iOS 10+

我最近遇到了这个问题,所有发布的答案都没有.事实证明,随着iOS 10 SDK的发布,UIColor初始化程序init(red:green:blue:alpha:)现在使用扩展的sRGB范围,因此您必须在故事板上配置颜色值时进行相应设置.

在此输入图像描述

请参阅Apple的文档:https://developer.apple.com/reference/uikit/uicolor/1621925-init

  • 这解释了一切.你一定是个天才:) (9认同)
  • 这是有史以来最令人沮丧的事情. (7认同)
  • 这个答案应该有一枚奥运金牌. (6认同)
  • 这是Xcode 8+的正确答案 (3认同)

mat*_*ttr 36

我遇到过同样的问题.我看到故事板中颜色的运行时RGB值与代码中运行时创建的UIColors不匹配.通过在配置时将颜色设置为"Generic RGB"(默认为sRGB),我能够在故事板中修复此问题.这是我在IB中谈论的截图:

IB Color config util

  • 哇谢谢.这解决了我的问题. (2认同)

小智 8

斯威夫特3

在我的情况下,精确的是彩色LCD:

在此输入图像描述

我希望我帮助过:-D