2012-02-09 7 views
11

Mi piacerebbe replicare il colore predefinito del campo segnaposto UITextField. Dalla documentazione:Cosa significa grigio al 70% e come posso specificarlo in UIColor?

La stringa segnaposto viene disegnata utilizzando un colore grigio al 70%.

  1. Che cosa vuol dire il 70% in questa affermazione?
  2. Qual è il modo migliore per inizializzare UIColor con questo colore, preferibilmente in un modo che mostri che il colore è "70% grigio"?
+0

Immagino che 255 * 0.7 per tutti i canali eccetto alpha. – beryllium

+0

Bene nel mondo della fotografia quando si utilizza una carta grigia, la percentuale indica quanta luce viene riflessa. Quindi sì la mia ipotesi è la stessa di @beryllium. –

risposta

33

Questo è 70% grigio:

UIColor* grey70 = [UIColor colorWithWhite: 0.70 alpha:1]; 

È bianco, ma solo il 70% della luminosità massima (1,0).

1.0 è bianco puro, 0,5 è grigio medio, 0,0 è nero.

+5

solo un commento ... su iOS7, in realtà è più vicino a [UIColor colorWithWhite: 0.8 alpha: 1.0] – ngzhongcai

8

Ecco cosa ho trovato afferrandolo dalla sua proprietà derivata (iOS 7):

[UIColor colorWithRed:0.0/255.0 green:0.0/255.0 blue:0.098/255.0 alpha:0.22] 
6

Ho cercato di ottenere un UILabel ho creato per abbinare il testo segnaposto per tutto il giorno e il 70% di grigio era non funziona.

ho provato:

[UIColor colorWithWhite:0.70 alpha:1.0] 

Quello che ho finito per trovare il più vicino era

0xC7C7CD 
+0

Questa non era una domanda ... questa era una risposta. Il richiedente originale stava cercando di trovare il colore predefinito del testo segnaposto e credeva che fosse del 70%. Stavo condividendo la mia esperienza come una risposta dicendo che il 70% non era quello che ho trovato essere il colore, ma infatti era 0xC7C7CD. Si prega di rimuovere il - rep dopo aver letto questo. – egarlock

+0

su per te –

0

Se si utilizza un textView, i seguenti funziona molto bene con Swift:

let placeholderTextColor = UIColor(white: 0.0, alpha: 0.21) 

let placeholderBorderColor = UIColor(white: 0.0, alpha: 0.21).CGColor 
textView.layer.borderWidth = CGFloat(0.5) 
textView.layer.cornerRadius = CGFloat(5) 
Problemi correlati