2011-09-09 16 views
9

Ho bisogno di utilizzare colori personalizzati nella mia app. Ho trovato alcuni bei colori HTML e li ha convertiti in RGB valori poi applicarli con:Objective-c HTML-> Colore RGB non corretto in UIColor

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

Il problema è il colore risultante nella mia app non è corretta. A volte è solo bianco e altre volte è semplicemente lontano. Il rosso potrebbe essere giallo ecc.

Qualcuno si è imbattuto in questo prima? Sto convertendo i colori in modo errato o qualcosa del genere.

risposta

28

sufficiente dividere tutti voi i valori di colore da 255:

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

Volevo solo aggiungere che il suffisso .0f è molto importante. All'inizio ho usato il tuo codice senza esso e il colore che ho ricevuto era molto diverso. Semplicemente usando 57/255 (diciamo), non lo taglia. Quindi, per tutti gli altri che usano questa risposta, non dimenticare di aggiungere .0f, a differenza di me :)) – BBog

5

L'intervallo di valori validi per i parametri su +colorWithRed:green:blue:alpha:is 0 to 1. Assumendo che il valori RGB hanno compreso tra 0 e 255, il tuo esempio potrebbe essere:

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

Grande roba, grazie. Come posso convertire i numeri che ho nel formato corretto? – conor

+2

Dividerli di 255. –

0

semplicemente utilizzare questo metodo in .m

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

definizione dichiarare al .h

-(float)getColorValue:(float)colorVal 

Esempio:

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

Che lunga strada per fare una cosa semplice – Mutawe

Problemi correlati