ios - 表格标题和第一个单元格之间的差距

标签 ios swift xcode uitableview uikit

我有一个包含多个部分的分组 TableView ,标题和第一个单元格之间有一个我不明白的间隙。这不是部分页眉/页脚,当我使用调试 View 层次结构时,它看起来像单元格框架的 y 原点导致了问题:

View hierarchy

(突出显示 UITableViewWrapperView)

红色和蓝色 View 是页眉和页脚,我给它们涂上了颜色,这样我就可以排除它们的问题。

如果我得到第一个单元格的打印输出,该框架具有属性:frame = (0 35; 320 86)

所以看起来 y 坐标 35 导致了单元格和标题之间的间隙。如果我在 cellForRowAt 中手动将单元格的 y 坐标设置为 0,它似乎什么也没做。我已经将 automaticallyAdjustScrollViewInsets 设置为 false。

如果能指出正确方向,我们将不胜感激。

最佳答案

我现在遇到同样的问题。

我只是想办法解决这个问题。请检查这个。它可能对您有用。

tableView.tableHeaderView = myView

我在标题 View 中使用了自动布局和约束。将它设置为我的 tableHeaderView 后,我得到标题 View 框架为 (0 35 0 0)。

我使用 systemLayoutSizeFitting.height 获得了标题 View 的高度,我知道宽度为 414,并将标题 View 框架重置为 (0 0 414 200),然后我再次将标题 View 设置为我的 tableHeaderView。

let height = myView.systemLayoutSizeFitting(UILayoutFittingCompressedSize).height//height = 200

myView.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: height)
tableView.tableHeaderView = myView

现在它对我有用。

关于ios - 表格标题和第一个单元格之间的差距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43350315/

相关文章:

ios - 在 iOS 上,CALayer 位图(CGImage 对象)如何显示到显卡上?

objective-c - 在 getter 方法中设置属性是不是很糟糕?

ios - 在数组中连接不同的 AudioKit Effects

ios - 如何删除在 MDCTextField 外部点击时关闭键盘操作

ios - 从 NSString 创建KeychainValue

ios - 如何同时关闭 UIAlertController 和键盘?

ios - 快速关闭 : cannot invoke a function with its argument list

ios - Swift flatMap 和泛型

iphone - 使用正则表达式在 Xcode 中查找/替换

objective-c - Xcode Storyboard开关