Ios 如何将ChildViewController添加到UITableViewController?

Ios 如何将ChildViewController添加到UITableViewController?,ios,objective-c,uitableview,Ios,Objective C,Uitableview,由于设计限制,我必须通过以下方式向UITableViewController添加UiViewController [controller addChildViewController:self];//self = uiviewcontroller controller = Instance of UITableViewController [controller.view addSubview:self.view]; 它添加了一点延迟,但我在控制台中得到了一个警告 “正在设置表的first

由于设计限制,我必须通过以下方式向UITableViewController添加UiViewController

[controller addChildViewController:self];//self = uiviewcontroller controller = Instance of UITableViewController

[controller.view addSubview:self.view];
它添加了一点延迟,但我在控制台中得到了一个警告

“正在设置表的first responder视图,但我们不知道其类型(单元格/页眉/页脚)”

我猜这是因为controller.view是tableview而不是普通的uiview,它在iOS6和iOS7中都会抛出这个错误


如何将ChildViewController添加到UITableViewController?

对于要查找的布局,最快的修复方法是使用一个父视图控制器,该控制器包括表视图控制器和带有UITextField的子视图控制器


或者只是添加了一个带有UITableView的视图控制器(其数据源和委托设置为您的视图控制器)和您的子视图控制器。

简短回答:不要。UITableViewController实际上只能包含表视图。正如rob在回答中所说,最好有一个包含容器视图的父视图控制器,其中包含您的表视图控制器,以及您需要的任何其他内容,如果需要,还可以有其他子视图控制器。

出于好奇,为什么要这样做?您需要做什么,而不能通过页眉、页脚和内容单元格来完成?如果您真的需要,自定义UIView而不是UIViewController会起作用吗?您作为表视图控制器的子视图添加的任何视图都会添加到表本身,所以这就是为什么会出现错误的原因--表视图不知道如何处理您孩子的视图。我刚刚尝试了您在这里所做的(尽管是从表视图控制器的角度)并且没有收到任何警告。此外,如果您在tableview中的任何子视图中有一个文本字段不是页眉、页脚或单元格,则可能会出现此警告。是的@rob5408我添加了一个带有文本字段的childviewcontroller,就像您在推特应用程序中按下新推特按钮时所做的那样