在动态UITableViewController的头文件中嵌入静态UITableViewController

时间:2016-01-03 08:34:09

标签: ios objective-c uitableview uistoryboard

我想显示一个带有静态部分的tableview,后面跟着一个动态部分。根据SO的建议,我做了以下工作:

  • 制作动态UITableViewController A
  • 作为第一个UITableViewController的标题视图,使用嵌入静态UITableViewController B的容器视图

它有效,但嵌入B的标题视图拼命保持其默认高度44点,这显然不是我想要的。

A' prepareForSegue中:我正确地将UITableViewController作为目标vc,但其preferredcontentsize为(0,0)。容器视图没有约束,我似乎无法在Storyboard中添加任何约束。如果我检查目的地vc' tableView,我看到它的大小是(600,73),可能意味着它还没有布局。

如何为嵌入视图设置正确的高度?

storyboard with embed segue

1 个答案:

答案 0 :(得分:0)

表格视图(控制器)不使用自动布局来表示标题的大小。设置标题视图时,它具有特定大小,并且将保持该大小。目前,您从标题板添加了标题视图,因此它永远不会改变大小。

您需要布置静态表视图内容,或计算所需的大小,然后添加适当大小的容器视图作为标题。每当需要更改大小时,您需要删除旧标头,调整大小,然后添加新标头。