2012-04-17 13 views
8

Ho i codici colore come R: 38 G: 171 B: 228, ma quando imposto i valori come .38f nel colore con Rosso: Verde: Blu:, I am impossibile ottenere il colore desiderato:Impostare il valore RGB per il testo dell'etichetta

[CategoryLbl setTextColor:[UIColor colorWithRed:.38f green:.171f blue:.226f alpha:1.0f]]; 

Please help.

+0

31 non è uno di voi i valori che vuoi, vero? O stai sbagliando - puoi mostrarci esattamente cosa stai facendo incluso un esempio di codice - o il tuo display non supporta colori abbastanza precisi per quello che vorresti indovinare. – Rup

+0

sto usando il seguente codice per impostare il textcolor per l'etichetta [CategoryLbl setTextColor: [UIColor colorWithRed: .38f green: .171f blue: .226f alpha: 1.0f]]; . Qui il CategoryLbl è un'etichetta. – Singh

risposta

22

Stai confondendo due scale: UIColour ha l'aspetto di utilizzare i valori in virgola mobile 0-1 mentre i soliti valori RGB sono 0-255. Invece si vuole

38/255 = 0.1491f 
171/255 = 0.6706f 
226/255 = 0.8863f 

così

[CategoryLbl setTextColor:[UIColor colorWithRed:0.1491f green:0.6706f blue:0.8863f alpha:1.0f]]; 

Ci possono essere modi migliori per fare questo, per esempio usando i valori 0-255 - Non conosco bene lo sviluppo di OSX/iPhone.

In realtà sembra che solo si può fare:

[CategoryLbl setTextColor:[UIColor colorWithRed:(38/255.f) green:(171/255.f) blue:(226/255.f) alpha:1.0f]]; 

che è più facile da capire (anche se ho dato abbastanza d.p. il primo deve essere il più preciso).

+0

Grazie :-) ha funzionato il trucco – Singh

+0

@developersaremad Non dimenticare di accettare le risposte, se hanno funzionato per te. –

+0

@AleksejsMjaliks Ok, certo :-) – Singh