Die Standardhöhe eines UITextField
mit Rahmenstil UITextBorderStyleRoundedRect
ist 31px. Für eine iPad App möchte ich ein UITextField mit einer Höhe von 60px machen und den Text vertikal zentrieren, so dass es gut aussieht (standardmäßig wird der Text nur ein paar Pixel unter dem oberen Rand des UITextField gezeichnet).UITextField: Erhöht und positioniert den Eingabetext vertikal zentriert
Wenn ich Sie wie folgt vor ...
UITextField *txtLogin = [[UITextField alloc] initWithFrame:CGRectMake(200,200,300,60)];
txtLogin.borderStyle = UITextBorderStyleRoundedRect;
... das Ergebnis sieht wie folgt aus: http://grab.by/6jRc
Wie Sie sehen können, ist die Eingabe von Text nicht vertikal zentriert. Ich habe versucht, eine Lösung zu finden und herausgefunden, dass ich nur meine eigene benutzerdefinierte Klasse von UITextField erben und die - (CGRect)textRectForBounds:(CGRect)bounds
Methode überschreiben muss. Diese Methode wird jedoch nie aufgerufen und nach this link gibt es einen Fehler in Apples API. Deshalb suche ich nach Alternativen, die funktionieren.
Was wäre eine gute Lösung, um dieses Problem zu lösen und eine korrekte vertikale Ausrichtung für den Eingabetext zu erreichen?
danke, das hat für mich funktioniert. – kiteloop