598 Stimmen

iPhone UITextField - Farbe des Platzhaltertextes ändern

Ich würde gerne die Farbe des Platzhaltertextes ändern, den ich in meinem UITextField Kontrollen, um es schwarz zu machen.

Ich würde es vorziehen, dies zu tun, ohne normalen Text als Platzhalter zu verwenden und alle Methoden überschreiben zu müssen, um das Verhalten eines Platzhalters zu imitieren.

Ich glaube, wenn ich diese Methode außer Kraft setze:

- (void)drawPlaceholderInRect:(CGRect)rect

dann sollte ich in der Lage sein, dies zu tun. Aber ich bin unsicher, wie man das tatsächliche Platzhalter-Objekt aus dieser Methode zugreifen.

32voto

Uma Madhavi Punkte 4761

Damit können wir die Farbe des Platzhaltertextes in iOS ändern

[self.userNameTxt setValue:[UIColor colorWithRed:41.0/255.0 green:91.0/255.0 blue:106.0/255.0 alpha:1.0] forKeyPath:@"_placeholderLabel.textColor"];

29voto

MAhipal Singh Punkte 4571

in Mauersegler 3.X

textField.attributedPlaceholder = NSAttributedString(string: "placeholder text", attributes:[NSForegroundColorAttributeName: UIColor.black])

in Mauersegler 5

textField.attributedPlaceholder = NSAttributedString(string: "placeholder text", attributes: [NSAttributedString.Key.foregroundColor : UIColor.black])

22voto

Valerii Lider Punkte 1754

Warum benutzen Sie nicht einfach UIAppearance Methode:

[[UILabel appearanceWhenContainedIn:[UITextField class], nil] setTextColor:[UIColor whateverColorYouNeed]];

18voto

Petr Syrov Punkte 14121

Auch in Ihrem Storyboard, ohne eine einzige Zeile Code

enter image description here

12voto

Fahim Parkar Punkte 29820

Für iOS 6.0 +

[textfield setValue:your_color forKeyPath:@"_placeholderLabel.textColor"];

Ich hoffe, es hilft.

Nota: Apple kann Ihre App ablehnen (0,01 % Wahrscheinlichkeit), da wir auf eine private API zugreifen. Ich verwende dies in allen meinen Projekten seit zwei Jahren, aber Apple hat nicht danach gefragt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X