Ich habe ein UITableView, das dieses Beispielwörterbuch auffüllt.UITableView-Zeilen, die unter UITableViewHeaderSection gleiten
var WholeDict = [
"Animals" : ["Cat","Dog"],
"Fruits" : ["Apple","Orange"]
]
Der Inhalt ist zu klein. Daher wähle ich den gruppierten UITableView-Stil, damit ich die unerwünschten Zellen vermeiden kann, die unter dem Inhalt in UITableView angezeigt werden. Aber das Problem ist, wenn ich gruppierten Stil wähle, die Zellen unter den einzelnen Sektionen nicht unter den Kopf gehen beim Scrollen. Beim Scrollen wird der Header zuerst verschoben. Grouped style: cells scrolling along with header & Plain style: cells sliding under header. Dies ist, was ich in Code tue
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
let allkeys = Array(WholeDict.keys)
return allkeys[section]
}
func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
if let headerView = view as? UITableViewHeaderFooterView {
headerView.textLabel?.textAlignment = .Center
}
}
So wie kann ich die zusätzlichen Räume unterhalb der Tableview vermeiden und zugleich das Gleiten der Zeilen unter Header verwenden?
BEARBEITEN Ich benutze Walters beantworten. Es funktioniert für mich. Aber dann hatte ich ein anderes Problem. Wenn ich über die letzte Zeile scrolle, zeigt der Bildschirm nur die Fußzeile an, die ich hinzugefügt habe. Also habe ich einen weiteren Workaround hinzugefügt.
func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
let visiblerows = MyTable.indexPathsForVisibleRows
if visiblerows?.count == 0 {
let ScrollToIndexPath = NSIndexPath(forRow: 0, inSection: WholeDict.count - 1)
MyTable.scrollToRowAtIndexPath(ScrollToIndexPath, atScrollPosition: UITableViewScrollPosition.Top, animated: true)
}
}
Eine andere Lösung könnte sein, die Trennlinien aus der Tabelle Ansicht ('' separatorStyle' oder separatorColor') zu entfernen und sie dann manuell für jede Zelle ziehen in Ihrem 'cellForRowAtIndexPath'. Das würde das Fußzeilenproblem vermeiden. – Walter