【问题标题】:Subview of UITableView does not have same height as tableViewUITableView 的子视图与 tableView 的高度不同
【发布时间】:2016-04-13 23:28:40
【问题描述】:

我在情节提要中有一个带有约束的 tableView,它占据了整个超级视图。在关联 VC 的 viewDidLoad(..) 中,我加载了一个 .xib (UIView),然后将其添加为 tableView 的子视图。

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

【问题讨论】:

    标签: ios swift uitableview


    【解决方案1】:

    您的 contentInset 对您的内容造成了双重影响。将 contentInset 的所有值设置为 0。您的 TableView 应该已经与工具栏齐平,并且 tableView 的内容视图是相对于 tableview 的边界测量的,而不是全局视图空间。

    【讨论】:

    • 我将 contentInset 值设置为 0,不幸的是 contentView 不是我可以从 tableView 访问的属性。
    猜你喜欢
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    相关资源
    最近更新 更多