Ma condition est telle que lorsque l'espace réservé du champ de texte est visible, sa couleur doit être grise et la taille de la police 10, mais lorsque l'utilisateur commence à taper dans le champ de texte, sa couleur doit être noire et la taille de la police 14. J'ai essayé ceci: < pre> XXX
Mais, ma taille de police d'espace réservé est remplacée par textfield.font
, donc je ne parviens pas à obtenir un espace réservé de taille 10. Où est-ce que je me trompe? J'ai essayé cela pendant quelques heures maintenant. Toute aide sera appréciée.
4 Réponses :
Essayez simplement ce code, prenez la sortie d'action UITextFieldEditingChanged et utilisez comme ci-dessous.
@IBAction func nameTextFieldEditingChanged(_ sender: UITextField) { if sender.text?.isEmpty ?? true { //placeholder text size set here textField.font = UIFont(name: "SourceSansPro-Regular", size: 10)! } else { // When user starting typing textField.textColor = UIColor.black textField.font = UIFont(name: "SourceSansPro-Regular", size: 14)! } }
En cas de doute, veuillez commenter].
Définissez simplement l'espace réservé après avoir défini la police car la définition de la police s'applique également à l'espace réservé (voir https://developer.apple.com/documentation/uikit/uitextfield/1619604-font ):
textField.font = ... textField.textColor = ... textField.attributedPlaceholder = ...
Essayez simplement ce code pour plus d'informations:
var myMutableStringTitle = NSMutableAttributedString() let Name = "Enter Title" // PlaceHolderText myMutableStringTitle = NSMutableAttributedString(string:Name, attributes: [NSFontAttributeName:UIFont(name: "Georgia", size: 20.0)!]) // Font myMutableStringTitle.addAttribute(NSForegroundColorAttributeName, value: UIColor.redColor(), range:NSRange(location:0,length:Name.characters.count)) // Color txtTitle.attributedPlaceholder = myMutableStringTitle
Essayez ce code dans votre méthode viewDidLoad()
:
textField.attributedPlaceholder = NSAttributedString(string: placeholderText, attributes: [NSAttributedString.Key.foregroundColor: Color.iPhoneGrayColor, NSAttributedString.Key.font: UIFont(name: "SourceSansPro-Regular", size: 10)!]) textField.textColor = UIColor.black textField.font = UIFont(name: "SourceSansPro-Regular", size: 14)!