具有自动布局的 iOS8 UITableView 在单元格上方有一个空白区域

Posted

技术标签:

【中文标题】具有自动布局的 iOS8 UITableView 在单元格上方有一个空白区域【英文标题】:iOS8 UITableView with autolayout has a blank space above cells 【发布时间】:2015-04-13 18:00:57 【问题描述】:

我使用自动布局在情节提要中创建了一个 UIViewController,它有一个嵌入式 UITableView。由于某种原因,表格视图部分上方有空白区域。我的期望是 tableview 会将所有可用空间拆分为单元格,并且单元格从顶部开始。

是什么导致表格视图在使用自动布局和尺寸类时在第一部分上方添加空白空间?

(见下面的截图,“电视”下方和“原型单元”上方的空白是问题)

我检查了约束和插图,看不出它们有什么问题:

更新: 这是场景层次结构

【问题讨论】:

你能贴出场景层次吗? 将 y 坐标更改为 y=64。它会解决你的问题 我认为在使用自动布局时,您看到的 x、y 坐标毫无意义——它们在运行时由约束进行调整。 【参考方案1】:

尝试在 Interface Builder 中切换 UIViewController 属性,命名为:

Adjust Scroll View Insets

【讨论】:

【参考方案2】:

如果你将一个视图拖到表格视图中,它就会变成 tableviews headerview,它提供了一个类似于你所看到的空间。这可能是问题吗?您发布的布局看起来正确。

Alternativley 如果您单击层次结构中的 Watch 视图控制器并在模拟指标部分切换顶部栏属性从推断到半透明导航栏并再次返回,这似乎会在设置为时将单元格在 tableview 中向下移动半透明导航栏

【讨论】:

tableview没有标题,只有3个原型单元格 我只是在玩arround 试图重现效果。如果您单击层次结构中的 Watch 视图控制器并在模拟指标部分中切换顶部栏属性从推断到半透明导航栏并再次返回,当它设置为半透明导航栏时,这似乎会将表格视图中的单元格向下移动

以上是关于具有自动布局的 iOS8 UITableView 在单元格上方有一个空白区域的主要内容,如果未能解决你的问题,请参考以下文章

iOS8 UITableView 和 Cell - 自动布局高度 - 触摸和执行 segue 时的移位/垂直偏移错误

iOS 8 Today Widget 使用自动布局来适应 UITableView 的高度

使用 nib 自定义单元格和自动布局滚动跳转(ios 8 swift - UITableview)

UITableView 自动布局定位

具有自动布局左边距的 UITableViewCell 在 iPhone 和 iPad 上不同

iOS7 和 iOS8 中的 UITableView contentInset 不同