关于ios:UITableViewHeaderSection下滑动的UITableView行

UITableView rows sliding under UITableViewHeaderSection

我有一个UITableView填充此示例字典。

1
2
3
4
var WholeDict = [
   "Animals" : ["Cat","Dog"],
   "Fruits" : ["Apple","Orange"]
]

内容太小。因此,我选择了分组的UITableView样式,以便可以避免在UITableView内容下方显示的不需要的单元格。但是问题是,当我选择分组样式时,滚动时每个部分下的单元格都不会进入标题下。滚动会首先移动标题。
分组样式:单元格与标题一起滚动


UITableView将始终添加空白的"单元格"以填充空间。为了使它们消失,您应该创建一个footerView,以填充最后一个填充行的底部与tableView底部之间的空间。这是一个简单的示例,但是您可能需要根据添加单元格的方式来移动它。 tableView的contentSize属性的高度将等于tableView的填充部分。

1
2
3
4
5
6
7
 let contentSize = self.tableView.contentSize
 let footer = UIView(frame: CGRect(x: self.tableView.frame.origin.x,
                                   y: self.tableView.frame.origin.y + contentSize.height,
                               width: self.tableView.frame.size.width,
                              height: self.tableView.frame.height - self.tableView.contentSize.height))

  self.tableView.tableFooterView = footer


如果要固定节标题,则可以使用此属性。

1
self.tableView.style = UITableViewStyleGrouped

它使您的节标题始终紧贴行并滚动。