寫了半天發現還沒人家寫的好,直接轉載了iOS開發之爲App設置正確的設計顏色html
若是在開發的過程當中發現Interface Builder
(包括xib和storyboard)設置的顏色運行後始終沒法獲得正確的顯示,那麼這個時候能夠問一下公司的設計人員採用的是sRGB
、Adobe RGB
仍是Display P3
,而後在Interface Builder
設置對應的color profile
便可,通常爲設計人員都採用sRGB
,故修改Interface Builder
中的color profile
爲sRGB
。
同理代碼也能夠:ios
// 建立GenericRGB,與設備無關;Interface Builder中默認值 [UIColor colorWithCGColor:CGColorCreateGenericRGB(255.0/255.0, 85.0/255.0, 34.0/255.0, 1.0)]; // Apple RGB 等同於 sRGB [UIColor colorWithRed:255.0/255.0 green:85.0/255.0 blue:34.0/255.0 alpha:1.0]; // sRGB [UIColor colorWithCGColor:CGColorCreateSRGB(255.0/255.0, 85.0/255.0, 34.0/255.0, 1.0)]; // Diplay P3 [UIColor colorWithDisplayP3Red:255.0/255.0 green:85.0/255.0 blue:34.0/255.0 alpha:1.0]; // Adobe RGB // 這個是終極大法,全部的color profile均可以由這種方式編寫 CGColorSpaceRef space = CGColorSpaceCreateWithName(kCGColorSpaceAdobeRGB1998); CGFloat components[] = {255.0/255.0, 85.0/255.0, 34.0/255.0, 1.0}; CGColorRef calibratedRGBColorRef = CGColorCreate(space, components); [UIColor colorWithCGColor:calibratedRGBColorRef];