Ändern der UITextField-Platzhalterschriftart
Ich bin ändern der Platzhalter-text Farbe mit dem folgenden code, aber wenn ich versuche, um NSFontAttribute bekomme ich den compiler-Fehler "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"}];
Dies Funktioniert Gut:
UIColor *color = [UIColor blackColor];
_nameField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"Your Name" attributes:@{NSForegroundColorAttributeName: color}];
InformationsquelleAutor der Frage Bob Yousuk | 2013-08-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Objective-C:
(Es gibt keine Klammern zwischen wörtlichen
dictionary
Schlüssel-Wert-Paaren.)Swift:
InformationsquelleAutor der Antwort ddevaz
Update für Swift 4.x:
InformationsquelleAutor der Antwort ayalcinkaya
Für die Bequemlichkeit der swift Menschen:
InformationsquelleAutor der Antwort harthoo
Sollten Sie Unterklasse UITextField, und überschreiben Sie die Methode der:
Hier ist die Umsetzung unten:
Weitere finden Sie klicken Sie hier
InformationsquelleAutor der Antwort tianglin
Funktionierende version für den Swift 4
InformationsquelleAutor der Antwort swift2geek
Schätzen @ddevaz Antwort.
UITextField Unterklasse Lösung
Obige Antwort funktioniert perfekt für
UITextField
. Aber wenn ichUITextField
Unterklasse und versuchen, diese Methode auszuführen. Dann seine nicht funktioniert.Fand ich eine andere Lösung nur, wenn Sie eine Unterklasse
UITextField
. Override-unten-Methode in IhrerUITextField
Unterklasse und es wird Aufgabe für Sie.InformationsquelleAutor der Antwort Kampai
Update für Swift 4
InformationsquelleAutor der Antwort Christopher Larsen
Wenn Sie möchten, unterstützt sowohl iOS 6 und früheren Versionen dann:
InformationsquelleAutor der Antwort Laszlo
Können Sie folgenden code verwenden
Finden Sie zuerst den Namen des Systems akzeptiert die schriftart für Ihre Benutzerdefinierte schriftart
und dann folgenden code verwenden, machen Sie Ihre Platzhalter mit benutzerdefinierten schriftart
Sonst kann es sein, die chance zu bekommen, null-Objekt[1] für die schriftart nicht gefunden
InformationsquelleAutor der Antwort Kirtikumar A.
Hinweis: wenn wir UIFont(name: "Menlo", Größe: 17.0) - Methode auf, wenn die schriftart nicht bekommen kann es in ios , so ist es null, so dass wir brauchen, um die Standard-schriftart. Es wurde oben erklärt.
Können Sie folgenden code verwenden, finden Sie Zuerst den Namen des Systems akzeptiert die schriftart für Ihre Benutzerdefinierte schriftart
InformationsquelleAutor der Antwort Jack Long