ios - UITableView 的 subview 与 tableView 的高度不同

标签 ios swift uitableview

我有一个 tableView,其 Storyboard中的约束占据了整个 super View 。在关联 VC 的 viewDidLoad(..) 中,我加载一个 .xib (UIView),然后将其添加为 tableView 的 subview 。

let emptyHomescreenView = EmptyHomescreenView() //The nib is loaded earlier.
self.tableView.addSubview(emptyHomescreenView)

无论如何,我发现emptyHomeScreenView的高度比应有的要长。它正确放置在 tableView 中,但问题只是在于高度。我尝试手动将高度设置为与 tableView 相同,但没有任何变化。我还尝试将 tableView 的 contentInset.bottom 设置为新值,但这也没有改变(奇怪的是 top 确实有效)。

self.tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: -self.navigationController!.toolbar.frame.size.height, right: 0)
//Above line doesn't work, setting a value for top does modify the emptyHomescreenView however.

然后我尝试了

self.edgesForExtendedLayout = UIRectEdge.Bottom

这降低了emptyHomescreenView的高度,但它仍然与navController的底部工具栏不太对齐。

有谁知道为什么会这样吗?我正在为 xib 使用自动布局。

编辑Image Here

最佳答案

您的 contentInset 正在双重突出您的内容。将 contentInset 的所有值设置为 0。TableView 应该已经与工具栏齐平,并且 tableView 的内容 View 是相对于 tableview 的边界而不是全局 View 空间来测量的。

关于ios - UITableView 的 subview 与 tableView 的高度不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36611294/

相关文章:

ios - isHidden 或 view.removeFromSuperView 需要很长时间

ios - 如何将按钮添加到 iPad 弹出框内的工具栏?

ios - 是否可以通过IPA文件永久安装应用程序?

swift - 你能在 Swift 中重载类型转换运算符吗?

android - 使用 Firebase 云消息传递安排推送通知

swift - XCTest:在所有平台(Xcode、SPM Mac/Linux)上不使用 Bundle 从磁盘加载文件

ios - swift ios 8 在表格 View 中更改部分的字体标题

ios - ios-TableView内的动画扩展TableView(在第一行上点击)

iphone - tableView :sectionForSectionIndexTitle:atIndex:? 到底有什么意义

ios - 无法摆脱分组的 UITableView 中的部分背景颜色