UITextField horizontale Textausrichtung - Text nicht zentriert

9

Ich habe einen sehr seltsamen Fehler, der versucht, horizontal Text in UITextField -Objekt in iOS 7+ App.

zu zentrieren

Ich habe ein neues Projekt eingerichtet, um den Fehler zu isolieren und sicherzustellen, dass ich nichts falsch mache.

In viewDidAppear: Methode weise ich eine neue UITextField Instanz wie folgt zu / init:

%Vor%

Das ist alles. Wenn ich diese Beispielanwendung auf iPhone Retina (4-Zoll-64-Bit) -Simulator ausführe, erhalte ich folgendes Ergebnis:

Nachdem ich einige Buchstaben eingegeben habe, bekomme ich Folgendes:

Weiß jemand, was passiert? Der Text sollte beim Tippen zentriert sein. Ich bin bisher nicht auf diesen Fehler gestoßen. Es ist iOS bezogen oder mache ich etwas falsch?

Ps .: Es passiert auch auf iDevices.

Vielen Dank im Voraus.

BEARBEITEN :

Hinzufügen:

%Vor%

hilft auch nicht.

BEARBEITEN 2 :

Wie Inder Kumar Rathore schlug ich vor, eine height wie folgt auf 20.0f zu setzen:

%Vor%

und es funktioniert überraschend. Aber es löst das Problem nicht. Ich stellte fest, dass eine zunehmende height von 20.0f das Problem nur noch verschlimmert. Ich denke, es hat etwas mit Zeilenhöhe / Textfeldhöhe zu tun. Ich weiß es nicht ..

    
damirstuhec 12.06.2014, 12:21
quelle

1 Antwort

1

Ich denke, UITextField erwartet, dass die vertikale Größe der Schriftart der Höhe des Textfelds entspricht. Wenn Sie sich eine Schriftart mit einer Punktgröße vorstellen, die die vertikale Höhe Ihres Textfelds an 200 Punkten ausfüllt, können Sie nur wenige Zeichen eingeben, bevor sie die horizontale Breite ausfüllen und vom zentrierten Verhalten zum rechtsbündig wechseln Verhalten. Dies scheint das Verhalten in Ihrem "Bug" oben zu sein, wo Sie nur ein paar Zeichen eingeben können, bevor es das Verhalten wechselt.

Ich denke, das beste, was Sie tun müssen, ist, Ihr Textfeld so hoch zu gestalten, dass es in Ihre Schriftart passt, und es vertikal in einem containing UIView zu zentrieren.

    
leftspin 14.06.2014, 23:33
quelle

Tags und Links