color change ios uitextfield uicolor

ios - swift 4 change placeholder text color



¿Cuál es el color predeterminado para el texto de marcador de posición en UITextField? (12)

¿Alguien sabe de qué color es el texto de marcador de posición de UITextField , por defecto? Estoy tratando de configurar el texto de un UITextView con el mismo color. He leído en otra parte que es UIColor.lightGrayColor() pero en realidad es un poco más ligero.


¡El código # 999999 coincide perfectamente en mi formulario!


Creo que es R:191 G:191 B:198 A:1 . Ver imagen a continuación. Aquí los controles marcados son UIButton con el Title TextColor anterior y el resto son UITextFields con el color predeterminado del marcador de posición. Si iOS hace la diferencia, entonces este es iOS 9.


Creo que puedes obtener el color usando las herramientas de tu Mac.


El color es # C7C7CD (r: 199 g: 199 b: 205) (como lo dijo pterry26)

y la familia de fuentes es HelveticaNeue-Medium y el tamaño es 16

Tenga en cuenta que esto es una conjetura sobre cómo se ve el color en una pantalla. Para los valores reales, simplemente inspeccione el código de Apple para attributedPlaceholder .


El color real no es sólido, pero tiene transparencia. Entonces el color más cercano es

Rojo: 4, Verde: 4, Azul: 30, Alfa: ~ 22%

Si usa esto con un fondo blanco, obtendrá lo que @ pterry26 escribió anteriormente.


Envié una captura de pantalla a mi Mac y utilicé la herramienta Cuentagotas de Photoshop. Para cualquier persona interesada, esta es al menos una muy buena aproximación del color del marcador de posición sobre un fondo blanco:

Rojo: 199, Verde: 199, Azul: 205


Es mejor tomar el color de un campo de texto dinámicamente en caso de que cambie en el futuro. Predeterminado a 70% de gris, que está bastante cerca

extension UITextField { var placeholderColor: UIColor { return attributedPlaceholder?.attributes(at: 0, effectiveRange: nil)[.foregroundColor] as? UIColor ?? UIColor(white: 0.7, alpha: 1) } }


Establezca la fuente de la etiqueta en "luz"
mylabel.font = [UIFont fontWithName: @ "HelveticaNeue-Light" tamaño: 14.0f];
y el código de color para el texto del marcador de posición es
# c2b098


Puede obtener este color inspeccionando el UITextField attributedPlaceholder del UITextField .

El valor predeterminado parece ser: NSColor = "UIExtendedSRGBColorSpace 0 0 0.0980392 0.22";

Puede agregar una extensión (o categoría) en UIColor :

extension UIColor { static var placeholderGray: UIColor { return UIColor(colorLiteralRed: 0, green: 0, blue: 0.0980392, alpha: 0.22) } }

2018, la última sintaxis es solo:

extension UIColor { static var officialApplePlaceholderGray: UIColor { return UIColor(red: 0, green: 0, blue: 0.0980392, alpha: 0.22) } }

#colorLiteralRed quedó en desuso. Tenga en cuenta this en algunos casos.


Según el código de Apple, es 70% gris

open var placeholder: String? // default is nil. string is drawn 70% gray

y si lo convertimos a rgb:

UIColor.init(red: 178/255, green: 178/255, blue: 178/255, alpha: 1)


Solo para agregar que en iOS 13 (y versiones posteriores), Apple expone el color del marcador de posición a través de

UIColor.placeholderText

y es dinámico (admite tanto oscuro como claro).

Poniéndolo con pre-iOS 13:

static var placeholderText: UIColor { if #available(iOS 13.0, *) { return .placeholderText } return UIColor(red: 60, green: 60, blue: 67)!.withAlphaComponent(0.3) }


Usando los valores de la respuesta correcta anterior

extension UIColor { class func greyPlaceholderColor() -> UIColor { return UIColor(red: 0.78, green: 0.78, blue: 0.80, alpha: 1.0) } }