Q. Interface Builder
で設定した色と、コードから設定した色が微妙に違う?
A. Interafce Builder
で設定した色の Color Profile を確認しましょう。
OSのカラーピッカーで何も考えず色を選択すると、Color Profileが Generic RGB
が指定された状態になっています。

このときのStoryboardファイルを見ると、colorSpace
属性が calibrateRGB
になっています。
Main.storyboard
<color key="backgroundColor" red="0.5" green="0.6" blue="0.7" alpha="1" colorSpace="calibratedRGB"/>
そしてこの色のRGB値を UIColor#getRed(_:green:blue:alpha:)
で取得すると、 指定値 rgb(0.5, 0.6, 0.7)
とは異なる値 が返ってきます。
一方、コード上で同じ値を指定して UIColor
を生成すると、Interface Builder上で指定した色と色味が微妙に異なることがわかります。

同じ色味に揃えたい場合は、Color Profileを sRGB
に変更しましょう。

コードで指定した色と合わないときや、デザイナーさんから「なんか色が違う...」と突っ込まれたら、一度確認してみるとよいと思います。