Changer UITextField espace Réservé police
Je vais changer le texte de l'espace réservé de couleur avec le code suivant, mais lorsque j'essaie d'ajouter NSFontAttribute j'obtiens l'erreur du compilateur "too many arguments to method call, expect 2 have 3"
UIColor *color = [UIColor blackColor];
_nameField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"Your Name" attributes:@{NSForegroundColorAttributeName: color},@{NSFontAttributeName:@"Roboto-Bold"}];
Cela Fonctionne Bien:
UIColor *color = [UIColor blackColor];
_nameField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"Your Name" attributes:@{NSForegroundColorAttributeName: color}];
Vous devez vous connecter pour publier un commentaire.
Objective-C:
(Il n'y a pas de crochets entre littérale
dictionary
paires clé-valeur.)Swift:
Mise à jour pour Swift 4.x:
as [String : Any]
est nécessairePour la commodité de swift personnes:
Vous devez sous-classe UITextField, et de remplacer la méthode de la:
Ici est la mise en œuvre ci-dessous:
Pour plus vous pouvez trouver cliquez ici
Apprécier @ddevaz réponse.
Sous-classe UITextField solution
La réponse ci-dessus fonctionne parfaitement pour
UITextField
. Mais quand j'utiliseUITextField
sous-classe et essayez d'exécuter cette méthode en elle. Puis sa ne fonctionne pas.J'ai trouvé d'autres solution que lorsque vous sous-classe
UITextField
. Remplacer méthode ci-dessous dans votreUITextField
sous-classe, et il va faire le travail pour vous.Version de travail pour Swift 4
Mise à jour pour Swift 4
Si vous voulez soutenir la fois sur iOS 6 et les versions précédentes alors:
Vous pouvez utiliser le code ci-dessous
D'abord trouver le nom de système accepté de police pour vos polices Personnalisées
puis utilisez code ci-dessous faire de votre espace réservé avec des polices personnalisées
D'autre il peut y avoir des chances d'obtenir néant l'objet[1] pour la police pas trouvé
Remarque: lorsque nous utilisons UIFont(nom: "Menlo", taille: 17.0) méthode, si le nom de la police ne peut pas le faire dans l'ios , de sorte qu'il sera nul, de sorte que nous devons fournir à la police par défaut. Il a été expliqué ci-dessus.
Vous pouvez utiliser le code ci-dessous d'Abord trouver le nom de système accepté de police pour vos polices Personnalisées
Swift 4: espace Réservé changement de Couleur à l'aide de
UITextField
sous-classe