web-dev-qa-db-fra.com

Quelle est la couleur par défaut pour le texte de substitution dans UITextField?

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.

57
pterry26

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.

29
Bram De Geyter

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.

100
Daniel Fernandes

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

11
pterry26

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.

10
Peter Staev

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)
    }

}
6
DogCoffee

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)
2

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)
  }
}
0
RyanM

Le code # 999999 correspond parfaitement à ma forme!

0
EmmaJ

Je crois que c'est R:191 G:191 B:198 A:1. Voir l'image ci-dessous. Ici, les contrôles marqués sont UIButton avec ce qui précède Title TextColor et reste sont UITextFields avec la couleur de marque de réservation par défaut. Si iOS fait la différence, celui-ci est iOS 9. enter image description here

0
Vaibhav Saran