表视图位置未裁剪到导航栏

Table view position doesn't clip to navigation bar

提问人:wahyudi 提问时间:6/17/2021 更新时间:6/17/2021 访问量:669

问:

当我使用自定义表视图创建表视图时,导航栏和表视图顶部之间有空白。

它看起来:enter image description here

我添加了 constraint to as equal of the view.topAnchor。 我不知道为什么会这样。

如何将表格视图剪辑到顶部?

先谢谢你。

iOS Swift iPhone Xcode UITableView

评论


答:

1赞 jatin fl 6/17/2021 #1

确保您没有添加任何标头。 如果您使用的是笔尖/情节提要,请查看 ViewController 设计 -> 选择表视图 -> 将 & 设置为 0。Footer heightHeader height

如果您使用的是代码,请查看此示例,了解如何使用代码删除标题 - 如何在 UITableView 中隐藏第一节标题(分组样式)

默认情况下,它需要 28 年,这就是为什么它在顶部显示空白的原因。

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return 0
}

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

设置上面的代码,并确保委托方法将调用。

评论

0赞 jatin fl 6/17/2021
对不起,我在这里发布作为答案,因为我无法发表评论。
0赞 wahyudi 6/17/2021
谢谢你的线索。但是,我以编程方式创建了表视图。如何以编程方式设置这些属性?
1赞 wahyudi 6/17/2021
不幸的是,您的代码不适用于我的代码。我刚刚在您分享的链接中找到了解决方法。我把下面的代码放到我的viewDidLoad中,它克服了这个问题:tableView.tableHeaderView = UIView(frame: CGRect(x: 0.0, y: 0.0, width: tableView.bounds.size.width, height: 0.01))
0赞 Fabio 6/17/2021 #2

试试这个技巧,添加一个空白的UIView...在 viewDidLoad 中:

view.addSubview(UIView())

我忽略了原因,但这破坏了您是 UIScrollView 和导航栏之间的链接......这可能会解决您的问题。