Ich möchte Sektionskopfzeilen von einer UITableView entfernen, wenn es keine Zeilen für diese Sektion gibt.
Ich verwende UILocalizedIndexedCollation
für meine Abschnittsüberschriften. Wenn ich also die Kopfzeilen erstelle, weiß ich nicht unbedingt, welche Abschnitte Inhalt haben werden.
Ich habe die unbenutzten sectionIndexTitles entfernt und die darauf basierenden Abschnitte erstellt.
In meinem NSURLConnection requestDidFinish
habe ich folgendes benutzt.
hatte dann
%Vor%Und mit all dem oben genannten Code wurden die unbenutzten Buchstaben von der rechten Seite des Bildschirms entfernt sowie die Abschnittsüberschriften, die keine Zeilen hatten.
Es ist eine interessante Frage, mit einer Reihe von möglichen Lösungen.
Rückwärts arbeiten, numberOfSectionsinTableView
und numberOfRowsInSection
müssen aktualisiert werden, um die richtige Anzahl von Abschnitten anzuzeigen. Diese sind teilweise abhängig von den Methoden UILocalizedIndexedCollation
methods.
(Vermutlich geschieht dies nach einer Art von Benutzeraktion (ein Löschen oder ein Einfügen), also beachte, dass in commitEditingStyle
[self.tableView reloadData
) aufgerufen werden sollte.
Ich gehe davon aus, dass customerData ein Array ist, in dem sich bei jedem Index ein veränderbares Array befindet, das einem Abschnitt entspricht. Wenn das Array in einem bestimmten customerData-Index keine Daten enthält, möchten Sie den Abschnitt für diesen Index entfernen.
Die Lösung besteht dann darin, alles manuell zu berechnen - bestimmen Sie Abschnittsinformationen basierend auf Leben in Ihrem customerData-Array. Ich habe einen Versuch unternommen, drei Ihrer Methoden neu zu schreiben. Viel Glück!
%Vor%Tags und Links objective-c uitableview ios5