Leerzeilen am Ende von UITableViews

UITableViews gehören bei der Entwicklung von Apps für die iOS-Plattform zum tagtäglichen Handwerkszeug eines jeden Entwicklers. Ob zur einfachen Auflistungen von Daten oder der Darstellung von Menüstrukturen oder komplexeren 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 automatisch erzeugten Leerzeilen programmatisch (und im Einklang mit dokumentierten Schnittstellen) zu beeinflussen. 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 tableHeaderView und tableFooterView für den Kopf– bzw. Fußbereich der Tabelle eigene Views hinterlegen. 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 tableFooterView ein leeres UIView–Objekt zu bleibt bei der Anzeige der Daten und vor allem der letzten Zeile alles unverändert. Einzig die automatisch erzeugten Leerzeilen fehlen — also genau das gewünschte Ergebnis.
