Zentriert den zugewiesenenPlaceholder eines UITextField vertikal

8

Ich bin momentan nicht in der Lage, einen attributiertenPlaceholder in einem UITextField vertikal auszurichten, und ich habe keine Ahnung, warum.

Folgendes mache ich:

%Vor%

Und hier ist was passiert:

Es ist ziemlich klar, dass dies aufgrund der Tatsache geschieht, dass die Höhe des UITextFieldLabel um 10 Pixel kleiner ist als das des UItextField selbst, aber das kann ich nicht ändern.

Dies geschieht jedoch nur mit einem attributiertenPlaceholder; Die standardmäßige Platzhaltereigenschaft funktioniert problemlos.

Irgendwelche Ideen?

    
João Pereira 23.02.2015, 15:42
quelle

3 Antworten

14

Verwenden Sie NSParagraphStyle , um die minimale Zeilenhöhe zu erhöhen:

%Vor%

Sie könnten auch eine - (CGRect)placeholderRectForBounds:(CGRect)bounds; Methode in UITextField subclass überschreiben.

Es ist unordentlich, aber es funktioniert:)

    
kean 27.02.2015, 09:08
quelle
2

Der Platzhalter wird nicht ausgerichtet, wenn die Textschriftart Ihres Textfelds sich von der Schriftart des Platzhalters des Textfelds unterscheidet. Stellen Sie sicher, dass beide Zeichen gleich sind, wenn Sie richtig ausrichten möchten, oder Sie können Keans Antwort folgen.

%Vor%     
user5855785 02.02.2016 09:44
quelle
1

Stellen Sie bei Verwendung von attributedPlaceholder sicher, dass die Schriftart von textField so festgelegt ist, dass sie der Schriftart entspricht, die Sie im attributedString verwenden.

    
Heyward Dai 27.04.2016 18:46
quelle

Tags und Links