2015-10-26 5 views
5

一部のUI要素をレンダリングするために部分的にUIWebViewを使用するiOSアプリケーションを構築しています。私は、ストーリーボードで定義されている色は、Webビューでと同じの値と異なる色にレンダリングされていることに気付きました。次のスクリーンショットは、ストーリーボードとエミュレータの3種類の色の例です:#00C2F0#00843C#FF008FiOS:Interface Builderで定義されている色とWebビューの色が異なる

shifted colors Interface Builder and Emulator

左の四角はUIWebView内CSS background-colorとしてレンダリング各色を示し、右側の四角は、インタフェースビルダーを介して直接UIViewを背景として割り当てられた色を示します。

Iのスクリーンショットを取り、Photoshopで色値を測定する場合に定義されるように、UIWebView内に示さ色が正確である(即ち、丁度上記進カラー値と一致)UIViewを介し示す色がシフトしているのに対し、。

私は、すべてのデバイス(例えばhereまたはhere)上の一貫性のある外観を持つことを目標に起因するカラーマネジメントに、この「問題」を説明iOSの「間違った」色に関するいくつかの記事を読みました。これは完全に妥当と聞こえるが、異なるコントロールによる一貫性のないレンダリングについては説明していない。

iOSのネイティブビューと、UIWebViewでレンダリングされる色を一致させるためにできることはありますか?

答えて

8

私は最終的に私の問題を解決しました。理由はUIWebView固有ではありませんでしたが、実際にはInterface Builderによって割り当てられた色はsRGB色空間にありました。 "Generic RGB" に変更してからヘキサカラー値を再割り当てすると、私の問題が解決しました。

color picker color space

非常に役に立っthis質問と答え(私は、重複フラグが不当であると感じ)でした。

+0

私にとっては、ストーリーボードに2つのUIViewControllerがあり、背景色には同じコードがありますが視覚的に違って見えました。私は不透明度とアルファを調査していました。これで解決しました。彼らが最初にどのように異なって設定されているのか分かりません。 – davew

+0

私はデバイスRGBが一番うまくいくと思います。カラーピッカーなどのアプリケーションは、xcodeストーリーボードで定義されている値を取得します。 –

関連する問題