2009-03-05 5 views
3

In der E-Mail-App des iPhones können Sie mehrere E-Mail-Adressen eingeben ... und dann eine löschen, tippen Sie einfach darauf und klicken Sie auf Entf. Wie kann ich etwas Ähnliches in meiner App implementieren? Ich habe versucht, den Wasserhahn auf einem UITextView zu handhaben, aber es sieht aus wie die touchesBegan und verwandte Delegatmethoden nicht für diese Klasse gebrannt werden und ihre Unterklassen :(Wie kann ich eine Autoselektionsbox wie die für E-Mail-Adressen auf dem iPhone implementieren?

Jede Idee?

Antwort

3

Ich habe eine Ansicht implementiert, die identisch ist zu dem, was in der mail.app gefunden wird.Ich habe eine zusammengesetzte Ansicht verwendet, die aus einer benutzerdefinierten UIView besteht, die ein paar andere Arten von Sichten beherbergt.Ich habe ein UITextField für den Texteintrag verwendet.Wenn der Benutzer eine Adresse vervollständigt, nehme ich den Text und Platziere es in einer Schaltfläche mit einem benutzerdefinierten Hintergrundbild (um die Blase um den Text herum zu bekommen) und verschiebe das UITextField nach rechts (oder in die nächste Zeile, je nachdem). Wenn der Benutzer auf eine der Adressen "Blasen" tippt "Es ist ausgewählt. Wenn sie die Löschtaste drücken, entferne ich diese Blase aus der Ansicht und alles neu zu planen G. Dies ist eine nicht-triviale Ansicht, die mit vielen lustigen Randfällen erstellt werden kann.

+0

Können Sie Ihren Code posten? Bitte helfen Sie. –

0

Schauen Sie sich Joe Hewitt three20 Projekt, es enthält "Bessere Textfelder", die so etwas tun können.

0

Dies könnte hilfreich sein: Link

TITokenFieldView Eine Steuerung, die das zu nachahmt: Feld in Mail und Nachrichten. Ein bisschen wie ein NSTokenField.