iPhone UITextField - Ändern Platzhalter-Schriftart und Textfarbe
Ich habe eine UITextField
wo muss ich ändern das Placeholder
Schriftart und Farbe, ich nenne Sie die folgenden Verfahren in der drawRect-Methode,
-(void) setFontColorForPlaceHolder
{
for(id obj in [[self baseScrollView] subviews])
{
if([obj isKindOfClass:[UITextField class]])
{
[obj setAttributedPlaceholder:[[NSAttributedString alloc]initWithString:[obj placeholder] attributes:@{
NSFontAttributeName:kFutura_Medium_14 ,NSForegroundColorAttributeName:[UIColor redColor]
}]];
}
}
}
Hier wird die FARBE ändern, aber die SCHRIFTART ist nicht festgelegt. Was ist hier das Problem mit setAttributedPlaceholder
.
- Es gibt viele links zur Verfügung für diese versuchen, diese stackoverflow.com/questions/18244790/...
- setAttributedPlaceholder Nicht in ios6
- Ja absolut du hast Recht, seine Ordnung, die in iOS7. Was also tun in iOS6.?
- Warum rufst du diesen code aus
drawRect:
? Das ist nicht angemessen, alle. - Also, wo kann ich es nennen??
- Einstellung der Platzhalter eines
UITextField
Untersicht ist nicht Teil der Zeichnung eine benutzerdefinierte Ansicht. Sie sollten die Platzhalter einmal beim erstellen der benutzerdefinierten Ansicht wie in seinerinit...
Methode. Eine benutzerdefinierte AnsichtdrawRect:
sollte nur verwendet werden zum zeichnen des benutzerdefinierten Inhalt (wenn vorhanden) anzuzeigen. Wenn Ihre benutzerdefinierte Ansicht nur hat die Untersicht und keine benutzerdefinierten Zeichnung, sollte man gar nicht erst implementieren, diedrawRect:
Methode.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich wurde getestet in iOS 7.1 und fand heraus, dass
NSFontAttributeName
nichts macht, umUITextField
's Platzhalter text.Jedoch, wenn ich änderte die schriftart der UITextField selbst, der Platzhalter-text-schriftart geändert:
Für iOS 6+
Setzen Sie eine schriftart für die Platzhalter, stellen Sie einfach eine schriftart für textfield-Objekt vor dem schreiben textholder.
SWIFT 3
In Ihrer benutzerdefinierten Klasse überschreiben diese: