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