调整容器视图的高度以匹配子视图的子视图的高度

时间:2018-02-01 19:54:26

标签: swift uitableview uitabbarcontroller

Embedded Tabbar Controller

在我的项目中,我有一个容器视图,其中嵌入了一个tabbar到tabbar控制器,其中tabbar的项目视图每个只包含一个tableview。

(在上图中,底部UIView是容器视图,其中包含tabbar到tabbar,顶部UIView只是其他一些内容)

我上面的设置工作正常但我要实现的是调整容器视图的高度以匹配选项卡栏选定项目中tableview的高度。

Goal

这样做的原因是我想在容器视图下面放置更多内容,并希望新内容非常接近容器视图的内容,但有时候显示的tableview只有几行而且有容器视图中需要修剪的大量未使用空间。

在上图中,容器视图位于带有附加内容的滚动视图中,如果容器视图显示的表小于预期,则需要删除剩余空间,因此似乎没有大量的空格。表格和附加内容。

1 个答案:

答案 0 :(得分:0)

对此的解决方案是维护对每个tabbar项的引用,从而保持对它们中的表的引用。

通过所有prepare(for segue: )获取tabBar.viewControllers循环中的引用,并在那里创建引用。

获得引用后,您可以viewController.tableView.frame.height获取tableviews的高度,并且每当选择选项卡时,都会根据表格高度调整容器视图的大小。