Est-ce que quelqu'un sait de quelle couleur est le texte fictif d'un UITextField
, par défaut? J'essaie de définir le texte d'un UITextView
de la même couleur. J'ai lu ailleurs que c'est UIColor.lightGrayColor()
mais c'est en fait un peu plus léger.
Vous pouvez obtenir cette couleur en inspectant le attributedPlaceholder
à partir du UITextField
.
La valeur par défaut semble être: NSColor = "UIExtendedSRGBColorSpace 0 0 0.0980392 0.22";
Vous pouvez ajouter une extension (ou une catégorie) sur UIColor
:
extension UIColor {
static var placeholderGray: UIColor {
return UIColor(colorLiteralRed: 0, green: 0, blue: 0.0980392, alpha: 0.22)
}
}
2018, la dernière syntaxe est la suivante:
extension UIColor {
static var officialApplePlaceholderGray: UIColor {
return UIColor(red: 0, green: 0, blue: 0.0980392, alpha: 0.22)
}
}
#colorLiteralRed
était obsolète. Soyez conscient de this dans certains cas.
La couleur est # C7C7CD (r: 199 g: 199 b: 205) (comme disait pterry26)
et la famille de polices est HelveticaNeue-Medium et la taille est 16
Notez qu'il s'agit d'une conjecture à quoi ressemble la couleur sur un écran. Pour les valeurs réelles, inspectez simplement le code Apple) pour attributedPlaceholder
.
J'ai envoyé une capture d'écran sur mon mac et utilisé l'outil Pipette de Photoshop. Pour ceux que cela intéresse, il s'agit au moins d'une très bonne approximation de la couleur de l'espace réservé sur un fond blanc:
Rouge: 199, vert: 199, bleu: 205
La couleur réelle n'est pas une couleur unie mais présente une transparence. Donc, la couleur la plus proche est
Rouge: 4, Vert: 4, Bleu: 30, Alpha: ~ 22%
Si vous utilisez ceci avec un fond blanc, vous obtiendrez ce que @ pterry26 a écrit ci-dessus.
Utiliser les valeurs de la bonne réponse ci-dessus
extension UIColor {
class func greyPlaceholderColor() -> UIColor {
return UIColor(red: 0.78, green: 0.78, blue: 0.80, alpha: 1.0)
}
}
Selon le code Apple, il est gris à 70%
open var placeholder: String? // default is nil. string is drawn 70% gray
et si nous le convertissons en RGB:
UIColor.init(red: 178/255, green: 178/255, blue: 178/255, alpha: 1)
Il est préférable d’acquérir la couleur d’un champ de texte de manière dynamique au cas où elle changerait à l’avenir. Par défaut à 70% de gris, ce qui est joli fermer
extension UITextField {
var placeholderColor: UIColor {
return attributedPlaceholder?.attributes(at: 0, effectiveRange: nil)[.foregroundColor] as? UIColor ?? UIColor(white: 0.7, alpha: 1)
}
}
Le code # 999999 correspond parfaitement à ma forme!