[英]UIColor vs IB color (color profile issue)
我正在使用XCode 8.2.1。 我剛剛了解了顏色配置文件,並且RGB值不是通用的。 但仍然無法理解如何在代碼中使其正確。 在Interface Builder中,我為標簽選擇了預定義的“深灰色”。 通用RGB配置文件中為(85,85,85)。 同樣在代碼中我將另一個標簽顏色設置為[UIColor darkGrayColor]。 我希望它們具有相同的顏色,但它們是不同的。
我用的方法
- (BOOL)getRed:(nullable CGFloat *)red green:(nullable CGFloat *)green blue:(nullable CGFloat *)blue alpha:(nullable CGFloat *)alpha
獲取RGB值。 對於在IB中設置顏色的標簽,我看到實際上(104,104,104)的值對應於當切換到設備RGB配置文件時IB中的值。 所以似乎在代碼中使用了設備RGB配置文件。
所以我的問題是:
您好Jesse請看下面的答案:
Why standard "Dark Gray Color" is different when set in IB and in code?
使用Storyboard
並以編程方式使用標准Dark Gray Color
是不同的,因為Storyboard
默認情況下使用sRGB IEC61966-2.1
或Generic RGB
Color Profile
,當您以編程方式設置它時需要Device RGB
Color profile
因為設備RGB iOS設備外面有iPhones, iPads
具有不同的特性就其顯示顏色配置文件而言。
How to use Generic RGB profile in code, so I can match color values with Interface Builder?
以編程方式設置UIColor
,您無法選擇任何Color Profile
因為它將采用Device RGB
Color Profile
。
如果你想使它相同,那么在你的故事板中選擇你的顏色選擇器,打開設置並將其更改為Device RGB
請參閱以下使用Storyboard進行顏色配置文件設置的屏幕截圖
我希望它會幫助你......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.