Comment changer la couleur
6 Réponses :
Vous pouvez remplacer } p> p> DrawPlaceLiderRect: (CGRRect) rect code> en tant que tel pour rendre manuellement le texte de l'espace réservé:
Vous pouvez l'utiliser pour changer la couleur du texte de l'espace réservé.
Vous devrez programmer la classe Uitextfield et remplacer la méthode suivante.
- (void) drawPlaceholderInRect:(CGRect)rect
{
[[UIColor blackColor] setFill];
[[self placeholder] drawInRect:rect withFont:[UIFont italicSystemFontOfSize:17] lineBreakMode:UILineBreakModeCharacterWrap alignment:UITextAlignmentLeft];
}
Utiliser le code suivant. qui vous aidera.
Utilisation KVC
[yourtextfield setValue:[UIColor colorWithRed:120.0/255.0 green:116.0/255.0 blue:115.0/255.0 alpha:1.0] forKeyPath:@"_placeholderLabel.textColor"];
Quelqu'un a-t-il soumis une application à l'App Store avec cela? Il me semble que l'accès _place (code> peut-il compter comme une méthode privée ...
@samvermette Oui Nous avons soumis une application avec ce code, il ne sera pas dans la méthode privée
Voir Stackoverflow.com/a/3396065/309046 Réponse
J'ai soumis une application avec ce code plusieurs fois. C'est clair, je n'ai eu aucun problème
Cela fonctionnera et est probablement inoffensif, mais il y a déjà un mécanisme pour le faire sans appeler un getter privé. Pourquoi ne pas simplement faire le «droit» de manière référencée par @Satish?
C'est un meilleur moyen de changer de couleur de votre espace réservé via kvo ... J'espère que cela vous aide à changer de couleur d'espace porteur. Merci p> p>
Utilisez-vous cela dans la production? Je veux accéder à une propriété privée.
Cela fonctionnait bien. Merci
Au-dessus de toutes les réponses, de iOS 6, il existe une propriété
Nsattributedstring * attribué plafonneur code> par exemple.textfield.attributedplacelader = [[[Nsattributedstring alloc] InitwithString: attributs de titre: @ {nsfontattattributename: textfield.font, nsforegroundColorattributename: textfield.textcolor}]; code>