2011-09-09 42 views
9

我需要在我的應用程序中使用自定義顏色。我發現一些不錯的HTML的顏色和它們轉換爲RGB值,然後用應用它們:Objective-c HTML-> RGB顏色在UIColor中不正確

[UIColor colorWithRed:235 green:242 blue:212 alpha:1] 

的問題是在我的應用程序所產生的顏色是不正確的。有時它只是白色的,有時候它只是離開。紅色可能是黃色等。

有沒有人遇到過這個?我是不正確地轉換顏色還是其他東西?

回答

28

只需通過255把所有你的顏色值:

[UIColor colorWithRed:235/255.0f green:242/255.0f blue:212/255.0f alpha:1] 
+4

我只是想補充一點,.0f後綴非常重要。我起初沒有使用過你的代碼,而我得到的顏色卻非常不同。簡單地使用57/255(比方說),不會削減它。所以對於其他人使用這個答案,不要忘了添加.0f,不像我:)) – BBog

5

參數的有效值範圍爲+colorWithRed:green:blue:alpha:is 0 to 1。假設你的RGB值有0到255的範圍內,你的例子是:

[UIColor colorWithRed:0.92f green:0.95f blue:0.83f alpha:1.f]; 
+0

偉大的東西,謝謝。我如何將數字轉換成正確的格式? – conor

+2

將它們除以255. –

0

只需在.M使用此方法

-(float)getColorValue:(float)colorVal 
{ 
    return colorVal/255; 
} 
在.H

-(float)getColorValue:(float)colorVal 

聲明定義

例子:

[UIColor colorWithRed:[self getColorValue:227] green:[self getColorValue:227] blue:[self getColorValue:227] alpha:1.0]; 
+0

做一個簡單的事情是一個很長的路要走 – Mutawe