如何删除TableViewController,iOS中多余的空单元格 – Swift
您好我有一个TableViewController
与两个静态单元格,但显示时,它显示两个静态单元格,然后显示所有其他为tableview的空单元格。 但是我不想显示这些单元格,因为它们是无用的。 除了两个静态单元之外,我如何隐藏其余的单元格?
在你的viewDidLoad()
函数中join这行代码:
tableView.tableFooterView = UIView()
添加到这,为什么设置tableFooterView
到UIView()
删除行的原因是因为你设置一个空的UIView()
对象的属性。 根据Apple文档:
var tableFooterView: UIView?
因此,设置一个空UIView()将显示此属性的数据下面的任何东西。
您可以通过将tableFooterView
重置为默认值来返回空行,如下所示:
tableView.tableFooterView = nil
您也可以通过将视图拖到表视图的页脚区域,然后将其高度和背景颜色设置为1并分别使用属性检查器清除,从而在故事板中实现此目的。
(这里假设你不能或不想仅仅因为某种原因使用组风格设置,否则就这么做)。
tableView.tableFooterView = UIView.init(frame: CGRect.zero)
在viewWillAppear
方法内调用此代码。 而且会工作
select你的UITableView,转到属性检查器,并将样式更改为分组。
只需添加:
tableView.tableFooterView = UIView()
说明:
这是完全有效的,并在swift中完美工作3.By因为你正在设置一个空的UIView()对象的属性,设置tableFooterView到UIView()删除行。
我试过tableview.tableFooterView = UIView(),它不适合我。 我正在使用自定义TableViewViewCell,也许这就是为什么。
我确实发现了一个黑客。 在我的func numberOfRowsInSection
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return yourArrayClass.count - 1 }
这使得我额外的空白自定义UITableViewCell不再显示。 当然它是额外的空白。 我将通过添加更多的单元格来testing它。 作为参考,我在cellForRowAt函数中使用Swift 3,Firebase,一个自定义单元类。