簡體   English   中英

UIColor與IB顏色(顏色配置文件問題)

[英]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配置文件。

所以我的問題是:

  1. 為什么標准的“深灰色”在IB和代碼中設置時有所不同?
  2. 如何在代碼中使用Generic RGB配置文件,所以我可以使用Interface Builder匹配顏色值?

您好Jesse請看下面的答案:

  • Why standard "Dark Gray Color" is different when set in IB and in code?

使用Storyboard並以編程方式使用標准Dark Gray Color是不同的,因為Storyboard默認情況下使用sRGB IEC61966-2.1Generic 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM