UITableView: Bewegen einer Reihe in einen leeren Abschnitt

stimmen
4

Ich habe eine UITableViewmit einigen leeren Abschnitten. Ich möchte der Benutzer eine Zeile in sie mit den Standardbearbeitungsmodus steuert der Lage sein , sich zu bewegen. Die einzige Art , wie ich es tun kann , so weit ist , eine Dummy - Reihe haben in meinen „leeren“ Abschnitten und versucht , es zu verbergen , indem Sie tableView:heightForRowAtIndexPath:der Dummy - Zeile eine Höhe von Null zu geben. Dies scheint es , als eine 1-Pixel - Reihe zu verlassen. Ich kann dies wohl verbergen , indem eine spezielle Art von Zelle bildet , die mit nur gefüllt ist [UIColor groupTableViewBackgroundColor], aber gibt es einen besseren Weg?

Das ist alles in dem gruppierten Modus UITableView.

UPDATE: Sieht aus wie Zeilen in leere Abschnitte zu bewegen ist möglich , ohne Tricks, aber die „Empfindlichkeit“ ist schlimm genug , dass Sie Tricks , um brauchen es für allgemeinen Anwender nutzbar zu machen (das nicht geduldig genug sein wird , langsam die Reihe zu schweben um den leeren Abschnitt , bis die Dinge klicken).

Veröffentlicht am 17/03/2009 um 17:07
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
1

Ich fand, dass in IOS 4.3, die Dummy-Reihe eine Höhe von mindestens 1 Pixel, um eine Reihe zu geben, haben muss, um die gewünschte Wirkung, daß in diesen Abschnitt bewegt werden.

Ich fand auch, dass die Scheinzeile nur in dem ersten und letzten Abschnitt erforderlich ist; alle Abschnitte dazwischen haben dieses Problem nicht.

Und es sieht aus wie in iOS 5.0, werden keine Dummy-Zeilen oder spezieller Trick überhaupt benötigt.

Beantwortet am 20/12/2011 um 02:22
quelle vom benutzer

stimmen
0

Ich fand, dass, wenn Sie -1.0 vom heightForRowAtIndexPath Methode zurückkehren wird es die 1-Pixel-Zeile entfernen.

Beantwortet am 08/01/2011 um 13:16
quelle vom benutzer

stimmen
0

Während die Bearbeitung verwalten, können Sie überwachen , ob die Tabellenansicht im Bearbeitungsmodus befindet. Verwenden Sie die Flagge innerhalb cellForRowAtIndexPathWetter , zu entscheiden , oder nicht , die ‚leer‘ Zeile angezeigt werden soll . Während in ‚normalen‘ Modus, wird die Zeile angezeigt werden , aber wenn der ‚Bearbeiten‘ Benutzer Taps cellForRowAtIndexPath sollte wieder aufgerufen und dieses Mal entscheidet die Zeilen angezeigt werden soll . Die Details, wie zu tun , die auf Ihre Datenquelle abhängen und wie Sie es auf dem Display geklebt wird . Wenn Sie den Anruf nicht wieder bekommen, können Sie manuell injizieren Zeilen mit insertRowsAtIndexPaths/ deleteRowsAtIndexPathsund / oder rufen Sie reloadDataeine Aktualisierung zu erzwingen.

Beantwortet am 17/03/2009 um 17:24
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more