Texteingabefeld wie die SMS App auf dem iPhone

8

Ich habe eine schreckliche Zeit damit, ein Eingabefeld wie das in der SMS-App zu bekommen.

Kann irgendjemand eine Anleitung geben, wie man eine davon baut und gut aussieht? Ich brauche ein Eingabefeld, das schön wie das UITextfield geformt ist, aber beim Tippen vertikal streckt.

Ich nehme an, dass ich die Breite des Textes berechnen und den Overlay-Bildrahmen vertikal strecken muss, wenn das Textwort umbrochen wird. Der nächste, den ich gekommen bin, streckt sich, aber der Cursor springt herum, wenn er sich den Grenzen nähert.

UPDATE:

Ich habe eine Woche lang jeden Tag daran gearbeitet und ich habe auf dem UITextView aufgegeben. Ich kann es richtig strecken, aber beim Zurücksetzen schrumpft die Höhe der Textansicht zu hoch, wenn man eine Zeile hochgeht. Während ich weiter rückwärts gehe, korrigiert es sich. Zum Beispiel zeigt es dieses Verhalten an, wenn ich in Zeile 4 bin und bis zu Zeile 3 zurückspringe. Wenn ich dann mit dem Zurücksetzen fortfahre, korrigiert es bis zum Ende von Zeile 2. Dann korrigiert es sich selbst, .... usw.

Ich habe mich entschieden, UITextField abzuleiten, aber ich kann es nicht einmal in der von mir angegebenen Bildgröße anzeigen lassen. 150,150,150,150.

    
Bobby 01.03.2010, 22:32
quelle

4 Antworten

2

Three20 Projekt hat ein Steuerelement, das dies für Sie tun sollte.

Aus der README von Three20:

  

TTTextEditor ist ein UITextView, der es kann   Wie Sie automatisch wachsen   Art. Ich benutze dies für die Eingabe von Nachrichten   in Facebook Chat, und es verhält sich   ähnlich dem Editor in Apples SMS   App.

    
Alan Rogers 09.03.2010, 03:41
quelle
3

Probieren Sie Chat-Eingabebeispiel aus. Es hat das gleiche Aussehen und die gleiche Funktionalität wie die SMS App.

    
sumon 07.03.2013 08:02
quelle
1

Sie können das selbst machen. Zum Glück, die UITextField kann Sie benachrichtigen, wenn sich der Text ändert , und glücklicherweise hat NSString Methoden (unter den UIKit-Zusätzen), mit denen Sie die Höhe der Zeichenfolge bei einer bestimmten Breite und glücklicherweise < a href="http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/doc/uid/TP40006816-CH3-SW5"> Sie können die Größe ändern a UITextField selbst .

    
Dave DeLong 01.03.2010 23:01
quelle
0

Ich weiß, dass das alt ist, aber für die Leute, die diese Antwort noch betrachten, gibt es jetzt ein nettes Steuerelement von Slack, das SlackTextViewController .

    
Tiago Almeida 10.10.2014 18:22
quelle