2009-05-25 1 views
8

Aggiungo un controllo segmentato a una barra di navigazione nella mia app per iPhone. Di default il colore del controllo segmentato corrisponde al colore della barra di navigazione. Voglio abbinare il colore del controllo segmentato ad altri pulsanti nella barra di navigazione (come il pulsante di navigazione indietro).Qual è il colore predefinito per i pulsanti della barra di navigazione su iPhone?

Qualcuno può dirmi un valore RGB (o un colore di sistema) che corrisponde al colore predefinito di UIButtonBarItems che è stato aggiunto a UINavigationBar con uno stile di UIBarStyleDefault?

risposta

18

Dopo un po ', mi sono reso conto che l'iPhone stava applicando una sfumatura blu al pulsante, quindi la sfumatura doveva essere piuttosto grigia. Alla fine ho colpito questa combinazione di HSV che è dannatamente perfetta. Si noti che secondo la documentazione, tutti i valori sono specificati come valori decimali compresi tra 0 e 1.

Hue: 0.6 

Saturation: 0.33 

Value: 0.69 

Alpha: 0 

Spero che questo consente di risparmiare un paio d'ore di lavoro per qualche altro sviluppatore.

+4

cheers;) self.navigationController.navigationBar.tintColor = [UIColor colorWithHue: 0.6 saturazione: 0.33 luminosità: 0.69 alfa: 0]; – oberbaum

+0

roba buona! sembra perfetto! – cgossain

+2

@norskben questo funziona, ma mmm questo non ha senso per me, alpha 0? –

1

Insegna a qualcuno di pescare.

Controlla il tuo sistema per un'app chiamata Digital Color Meter o qualcosa del genere. È possibile utilizzarlo per ottenere i valori RGB dai colori sullo schermo.

+3

Quel pesce che puoi tenere. ;-) L'ho già provato. Il problema è che l'iPhone applica automaticamente un gradiente al colore di sfondo, quindi cerca di capire quale parte del gradiente misurare è un problema. Quello di cui ho bisogno è il colore di sfondo che viene usato sotto il gradiente, prima che venga visualizzato all'utente. – ceperry

+0

Gotcha. Non ricordo di averlo visto pubblicato, ma potrebbe funzionare uno strumento grafico e alcuni tentativi ed errori. – Jordan

+0

'DigitalColor Meter' mi ha davvero aiutato su Mac. Grazie. – zerowords

3

Io uso questo:

[UIColor colorWithHue:0.6 saturation:0.33 brightness: 0.65 alpha:1.0]; 
1

Per risparmiare un po 'più di tempo, il valore RGB di ciò è:

RGB(118, 141, 176). 

Se si desidera ricreare il colore per lo stato 'giù' di la barra dei pulsanti, il valore RGB è:

RGB(0, 23, 73). 

la pendenza non sono sicuro circa, ma questo è il colore di base.

3

Impostare il colore della tinta in questo modo:

self.navigationController.navigationBar.tintColor = nil

Vi darà il colore di default e l'ombra gradiente pure.