当我设置一个有4行的表格视图时,在填充行的下面仍然有额外的分隔行(或额外的空白单元格)。
如何移除这些单元格?
当我设置一个有4行的表格视图时,在填充行的下面仍然有额外的分隔行(或额外的空白单元格)。
如何移除这些单元格?
当前回答
你可能会找到这个问题的很多答案。大多数都围绕着UITableView的tableFooterView属性进行操作这是隐藏空行的合适方法。为了方便起见,我创建了一个简单的扩展,它允许打开/关闭接口生成器中的空行。 你可以从这个要点文件里查到。我希望它能为你节省一点时间。
extension UITableView {
@IBInspectable
var isEmptyRowsHidden: Bool {
get {
return tableFooterView != nil
}
set {
if newValue {
tableFooterView = UIView(frame: .zero)
} else {
tableFooterView = nil
}
}
}
}
用法:
tableView.isEmptyRowsHidden = true
其他回答
Swift 4.0扩展
只是一个小扩展的故事板:
extension UITableView {
@IBInspectable
var hideSeparatorForEmptyCells: Bool {
set {
tableFooterView = newValue ? UIView() : nil
}
get {
return tableFooterView == nil
}
}
}
迅速:
override func viewDidLoad() {
super.viewDidLoad()
tableView.tableFooterView = UIView()
}
iOS 7+使用故事板
简单地拖一个UIView到你的UITableView作为页脚。设置页脚视图的高度为0。
你可以在最后添加一个空的页脚,它会隐藏空的单元格,但它也会看起来很难看:
tableView.tableFooterView = UIView()
有一个更好的方法:在表格视图的末尾添加1点线作为页脚,空单元格也将不再显示。
let footerView = UIView()
footerView.frame = CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 1)
footerView.backgroundColor = tableView.separatorColor
tableView.tableFooterView = footerView
为了以编程方式消除UItableview底部额外的分隔行,只需写下下面两行代码,它就会从UItableview底部删除额外的分隔行。
tableView.sectionFooterHeight = 0.f;
tableView.sectionHeaderHeight = 0.f;
这招对我一直很管用,你自己试试。