当我设置一个有4行的表格视图时,在填充行的下面仍然有额外的分隔行(或额外的空白单元格)。

如何移除这些单元格?


当前回答

iOS 7+使用故事板

简单地拖一个UIView到你的UITableView作为页脚。设置页脚视图的高度为0。

其他回答

在Swift中移除UITableView中空行的额外分隔行

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    self.yourTableview.tableFooterView = UIView()
}

我很幸运地实现了一个被接受的答案(iOS 9+, Swift 2.2)。我尝试着执行:

self.tableView.tableFooterView = UIView(frame: .zero)

然而,对我的tableView没有任何影响-我相信这可能与我使用UITableViewController的事实有关。

相反,我只需要重写viewForFooterInSection方法(我没有在其他地方设置tableFooterView):

override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    return UIView(frame: .zero)
}

这对于具有单个section的tableView来说效果很好(如果有多个section,则需要指定最后一个)。

如果您不希望在最后一个单元格之后有任何分隔符,那么您需要为页脚设置一个接近零但非零的高度。

在你的UITableViewDelegate中:

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return .leastNormalMagnitude
}

iOS 7+使用故事板

简单地拖一个UIView到你的UITableView作为页脚。设置页脚视图的高度为0。

Swift适用于:

tableView.tableFooterView = UIView()