UITableView的子视图与tableView的高度不同

时间:2016-04-13 23:28:40

标签: ios swift uitableview

我在storyboard中有一个带有约束的tableView,它占据了整个superview。在关联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使用autolayout。

修改Image Here

1 个答案:

答案 0 :(得分:0)

您的contentInset会使您的内容翻倍。将contentInset的所有值设置为0.您的TableView应该已经与工具栏齐平,并且tableView的内容视图是相对于tableview的边界而不是全局视图空间测量的。