如何删除TableViewController,iOS中的额外空单元格 - Swift

Ste*_*Fox 104 tableview ios swift

嗨,我有TableViewController两个静态单元格,但是在显示时,它会显示两个静态单元格,然后是tableview的所有其他空单元格.但是我不想显示那些细胞,因为它们没用.如何将其余细胞隐藏在两个静电池之外?

Hor*_*seT 352

在你的viewDidLoad()函数中添加这行代码:

tableView.tableFooterView = UIView()
Run Code Online (Sandbox Code Playgroud)

  • 这是什么意思?你能详细说说吗? (6认同)
  • 简短而有效!像魅力一样工作! (2认同)

bak*_*olo 13

选择您的UITableView,转到属性检查器并将样式更改为Grouped.

在此输入图像描述


toa*_*ast 6

要添加到此,设置tableFooterViewUIView()删除行的原因是因为您UIView()要为属性设置空对象.根据Apple文档:

var tableFooterView: UIView?
Run Code Online (Sandbox Code Playgroud)

因此,设置空的UIView()将不会在此属性的数据下方显示任何内容.

您可以通过重置tableFooterView为默认值来返回空行,如下所示:

tableView.tableFooterView = nil
Run Code Online (Sandbox Code Playgroud)

  • 对不起,但它看起来不像是黑客? (2认同)
  • 不,这是一种完全有效的方法.如果要设置自定义tableFooterView,则在将其设置为tableFooterView之前,您将创建自定义UIView.然后将其重置为nil只是将其恢复为默认值. (2认同)

Gia*_*ang 6

设置tableFooterView应该会删除多余的单元格,例如视图。

   @IBOutlet weak var tableView: UITableView! {
        didSet {
            tableView.tableFooterView = UIView(frame: .zero)
        }
    }
Run Code Online (Sandbox Code Playgroud)