2014-10-30 106 views
8

我最近一直在試圖使用Interface Builder爲視圖設置相同的背景顏色,並使用[UIColor colorWithRed: green: blue: alpha:]以編程方式設置視圖風格。儘管設置了相同的RGB值,但IB中的視圖與代碼中的樣式略有不同。Xcode 6界面生成器 - 顏色選擇器奇怪/錯誤?

我終於意識到這是與顏色空間有關 - 當我使用顏色選擇器在IB中查看視圖時,它顯示顏色空間設置爲'sRGB',而不是默認的'Generic RGB',UIColor使用。我從來沒有改變自己的色彩空間設置。然後,我意識到發生了什麼事情是,當您手動輸入顏色選擇器中的RGB值時,它會將顏色空間更改爲'sRGB',而您並不知道顏色空間會產生不同的顏色。但是,如果您使用鼠標拖動滑塊來更改值,則顏色空間保持爲「通用RGB」,並且一切正常。

這是一個錯誤,還是我誤解顏色選擇器?我正在使用Xcode 6.1。

+0

嗯,手輸入一個藍色的值,這個值與我們通常使用的默認藍色略有差距,並且在我們動態加載的圖像中。可能是同樣的問題! – 2014-10-30 23:16:33

+0

[Interface Builder中的顏色錯誤]的可能重複(http://stackoverflow.com/questions/14578759/wrong-color-in-interface-builder) – 2014-12-09 11:04:39

回答

1

我試着只用移動滑塊的'技巧',但在我的情況下,即使這個改變了個人資料回到sRGB。我認爲它肯定是一個錯誤,因爲只有「處理方法」獲得的代碼和Interface Builder我發現完全相同的顏色如下:

  1. 決定要使用(在通用RGB)的RGB代碼我的情況是「#1C202C」在通用RGB配置在Photoshop

  2. 開放新形象,填充顏色

  3. 進入菜單編輯 - >轉換的背景資料,並轉換爲「的sRGB IEC61966-2.1 「

  4. 打開Photoshop的顏色選擇器,並選擇在新的色彩,新的RGB代碼會顯示出來......在我的情況「#252b3a」

如果您在Interface Builder的代碼和IB使用此代碼,然後顏色會完全一樣。

1

解決方案是使用「設備RGB」而不是「通用RGB」。 enter image description here