我是iOS和Objective-C的新手,我在理解控制器如何工作方面遇到了一些麻烦。
在我的代码中,我有一个UIViewController(我的自定义控制器由storyboard分配),在其中,与其他对象一起,我希望有一个由不同控制器处理的表。这样做的正确方法是什么?
答案 0 :(得分:42)
您可以将该表视图控制器设置为UIViewController的子视图控制器。在故事板中,您可以通过将容器视图拖动到控制器的视图中来轻松完成此操作,这将自动为您提供子视图控制器。您将要删除它为您提供的控制器(它只是一个UIViewController),拖出一个表视图控制器,控制从容器视图拖动到表视图控制器,然后选择“嵌入”。如果你需要从UIViewController获取对这个表视图控制器的引用,你可以在prepareForSegue中执行 - 表视图控制器将是segue的目标视图控制器,并且将在实例化控制器之后立即调用prepareForSegue。 p>
答案 1 :(得分:13)
您想要使用嵌入式容器视图。
拖动"容器视图"从Interface Builder边栏进入视图。这会添加并链接默认的"包含" UIView / Controller也是如此。
删除自动添加并链接到容器视图的整个UIViewController和View(因为您需要一个Table View Controller)。
将UITableViewController拖到Storyboard画布上。
控件 - 从容器视图拖动到表视图控制器。选择"嵌入"在容器视图中包含UITableView。
您离开了父视图,现在通过容器视图包含UITableView。表格视图的控制器也在故事板画布上。
答案 2 :(得分:3)
将UITableViewController添加到storyboard,并创建UITableViewController的子类(新文件)。在Storyboard中,转到Identity Inspector,并在您创建的子类的Class字段类型名称中。之后,您必须根据您的要求添加您的应用程序逻辑。
答案 3 :(得分:2)
在故事板中创建另一个UITableViewController,转到它的检查器并为它分配你之前创建的相同UITableViewController类...