在动态 UITableViewController 的 header 中嵌入静态 UITableViewController
Embedding a static UITableViewController in the header of a dynamic UITableViewController
我想显示一个 tableview
,其中有一个静态部分,下面是一个动态部分。按照 SO 的建议,我做了以下事情:
- 创建动态
UITableViewController A
- 作为第一个
UITableViewController
的header视图,使用嵌入静态UITableViewController B
的容器视图
可以,但是 header 视图嵌入 B
拼命保持默认高度 44 点,这显然不是我想要的。
在 A
的 prepareForSegue
中:我正确地将我的 UITableViewController
作为目的地 vc,但它的 preferredcontentsize
是 (0,0)。容器视图没有约束,我似乎无法在 Storyboard
中添加任何内容。如果我检查目的地 vc 的 tableView
,我看到它的大小是 (600,73),可能意味着它还没有被布置。
如何为我的嵌入式视图设置正确的高度?
table 视图(控制器)不对 header 的大小使用自动布局。当设置 header 视图时,它有一个特定的大小,并且该大小将被保持。目前您的 header 视图是从情节提要中添加的,因此它永远不会改变大小。
您需要布局您的静态 table 视图内容,或计算它需要的大小,然后添加一个合适大小的容器视图作为 header。任何时候需要更改大小,您都需要删除旧的 header、调整大小,然后添加新的 header.
我想显示一个 tableview
,其中有一个静态部分,下面是一个动态部分。按照 SO 的建议,我做了以下事情:
- 创建动态
UITableViewController A
- 作为第一个
UITableViewController
的header视图,使用嵌入静态UITableViewController B
的容器视图
可以,但是 header 视图嵌入 B
拼命保持默认高度 44 点,这显然不是我想要的。
在 A
的 prepareForSegue
中:我正确地将我的 UITableViewController
作为目的地 vc,但它的 preferredcontentsize
是 (0,0)。容器视图没有约束,我似乎无法在 Storyboard
中添加任何内容。如果我检查目的地 vc 的 tableView
,我看到它的大小是 (600,73),可能意味着它还没有被布置。
如何为我的嵌入式视图设置正确的高度?
table 视图(控制器)不对 header 的大小使用自动布局。当设置 header 视图时,它有一个特定的大小,并且该大小将被保持。目前您的 header 视图是从情节提要中添加的,因此它永远不会改变大小。
您需要布局您的静态 table 视图内容,或计算它需要的大小,然后添加一个合适大小的容器视图作为 header。任何时候需要更改大小,您都需要删除旧的 header、调整大小,然后添加新的 header.