UIViewController里面的UITableViewController

时间:2013-12-11 15:57:49

标签: ios uitableview uiviewcontroller storyboard

我是iOS和Objective-C的新手,我在理解控制器如何工作方面遇到了一些麻烦。

在我的代码中,我有一个UIViewController(我的自定义控制器由storyboard分配),在其中,与其他对象一起,我希望有一个由不同控制器处理的表。这样做的正确方法是什么?

4 个答案:

答案 0 :(得分:42)

您可以将该表视图控制器设置为UIViewController的子视图控制器。在故事板中,您可以通过将容器视图拖动到控制器的视图中来轻松完成此操作,这将自动为您提供子视图控制器。您将要删除它为您提供的控制器(它只是一个UIViewController),拖出一个表视图控制器,控制从容器视图拖动到表视图控制器,然后选择“嵌入”。如果你需要从UIViewController获取对这个表视图控制器的引用,你可以在prepareForSegue中执行 - 表视图控制器将是segue的目标视图控制器,并且将在实例化控制器之后立即调用prepareForSegue。 p>

答案 1 :(得分:13)

您想要使用嵌入式容器视图。

  1. 拖动"容器视图"从Interface Builder边栏进入视图。这会添加并链接默认的"包含" UIView / Controller也是如此。

  2. 删除自动添加并链接到容器视图的整个UIViewController和View(因为您需要一个Table View Controller)。

  3. 将UITableViewController拖到Storyboard画布上。

  4. 控件 - 从容器视图拖动到表视图控制器。选择"嵌入"在容器视图中包含UITableView。

  5. 您离开了父视图,现在通过容器视图包含UITableView。表格视图的控制器也在故事板画布上。

    Table View Controller inside a Container View

答案 2 :(得分:3)

将UITableViewController添加到storyboard,并创建UITableViewController的子类(新文件)。在Storyboard中,转到Identity Inspector,并在您创建的子类的Class字段类型名称中。之后,您必须根据您的要求添加您的应用程序逻辑。

答案 3 :(得分:2)

在故事板中创建另一个UITableViewController,转到它的检查器并为它分配你之前创建的相同UITableViewController类...