frequenz|folger.

Leerzeilen am Ende von UITableViews

von

iphonetabletest1
UITableViews gehören bei der Entwicklung von Apps für die iOS-Plattform zum tagtäg­lichen Handwerkszeug eines jeden Entwicklers. Ob zur einfachen Auflistungen von Daten oder der Darstellung von Menüstrukturen oder komple­xeren Views — UITableViews sind hier meist das Mittel der Wahl. Allerdings hat ein einfaches UITableView-Objekt die manchmal nicht gewünschte Eigenschaft, freien Platz nach der letzten Zeile mit künstlich erzeugten leeren Zeilen zu füllen deren Höhe sich an der Höhe der letzten »echten« Zeile orientieren.

Spätestens dann, wenn man die Tabelle in ein eigenes Layout stecken möchte ist dieses Verhalten nicht mehr gewünscht. Leider gibt es keinen mir bekannten Weg, die auto­ma­tisch erzeugten Leerzeilen program­ma­tisch (und im Einklang mit doku­men­tierten Schnittstellen) zu beein­flussen. Allerdings gibt es einen einfachen Trick, wie man UITableView-Objekte vom anzeigen der Füll-Leerzellen abhalten kann.

Vor der ersten und nach der letzten Zeile kann man sehr einfach über die Propertys tableHea­derView und table­Foo­terView für den Kopf– bzw. Fußbereich der Tabelle eigene Views hinter­legen. Das ist zum Beispiel dann sehr praktisch, wenn man im Kopf der Tabelle ein Suchfeld oder am Ende weitere Informationen anzeigen möchte.

UIView *footerView = [[UIView alloc] initWithFrame:CGRectZero];
[self.tableView setTableFooterView:footerView];
[footerView release];

Weist man nun der Eigenschaft table­Foo­terView ein leeres UIView–Objekt zu bleibt bei der Anzeige der Daten und vor allem der letzten Zeile alles unver­ändert. Einzig die auto­ma­tisch erzeugten Leerzeilen fehlen — also genau das gewünschte Ergebnis.

iphonetabletest2


Share on: Twitter | Google+ | Facebook

blog comments powered by Disqus