2010-11-21 8 views
3

Dies ist eine iPad-App, so dass es auf SDK 3.2 basiert (Verhalten erscheint auch auf späteren iOS-Version).textFieldShouldBeginEditing: Mehrere Male für UITextField in UITableViewCell aufgerufen werden

Ich erstellte eine benutzerdefinierte UITableView-Zellklasse, die ein UITextField enthält. Die Klasse für die Zelle entspricht dem UITextFieldDelegate-Protokoll und ich habe die textFieldShouldBeginEditing-Methode implementiert, um die Benutzerinteraktion mit dem Textfeld abzufangen.

Alles funktioniert in der Regel gut, aber ich habe bemerkt, dass wenn der Benutzer die Tabelle scrollt und dann auf ein Feld tippt der TextFieldShouldBeginEditing wird mehrmals aufgerufen, manchmal auf zwei verschiedenen Feldern. Dies führt dazu, dass Benutzer in einer Zeile der Tabelle auf das Feld tippen und ein Feld in einer anderen Zeile als Ersthelfer fungiert.

Hat jemand dieses Verhalten festgestellt?

Ich arbeite an einer Lösung, um eine Flagge zu setzen, um die Eingabe für einen festen Zeitraum zu ignorieren, aber ich hasse es wirklich, dies zu tun und würde gerne wissen, ob es einen Teigweg gibt.

Antwort

2

Ich habe das herausgefunden. Ich habe die Daten der Tabellenansicht gleichzeitig mit dem Bildlauf neu geladen und die Textfelder müssen neu erstellt worden sein.

Ich habe geändert, um einzelne Zeilen neu zu laden, wie ich sowieso hätte tun sollen, und es funktioniert reibungslos.

+0

Ich hatte ein ähnliches Problem und reloadRowsAtIndexPaths: withAnimation: tat den Trick –

Verwandte Themen