UITableView在顶部有额外的空间

3

我记得在将UITableView添加到我的场景中时,没有看到这个额外的空间。当我从Interface Builder的对象库中拖动默认对象时发生了这种情况。

为了突出间隙,我将表格的背景颜色更改为灰色。

enter image description here

我使用以下代码填充表格数据。

extension UserListViewController: UITableViewDataSource {
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return users.count
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = UITableViewCell(style: .Subtitle, reuseIdentifier: nil)
        cell.textLabel?.text = users[indexPath.row].name
        return cell
    }
}

我在视图控制器的viewDidLoad方法中设置了大纲内部的dataSource

tableView.dataSource = self

那么这个差距从哪里来?我该如何消除它呢?

3个回答

13
你也可以直接从Storyboard中你的UIViewController的属性检查器中取消选择它,这样就不需要添加代码了。 输入图像说明

5
你可以在你的控制器中尝试这样设置:
self.automaticallyAdjustsScrollViewInsets = false

这个属性相当容易理解。在iOS 7中,苹果引入了一个半透明的顶部栏。通常他们希望你的UITableview从顶部开始,就像某些部分在顶部栏后面一样。在这种情况下,自动在顶部插入一个缩进是有用的,以便内容可见。


太好了!感谢您提供的额外解释。我会尽快接受。 - Morgan Wilde

1
如果tableView在tableViewContorller中,并且表视图是静态的,则将tableView单元格的样式从“Grouped”更改为“Plain”。这将删除表视图单元格顶部的额外空间。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接