1

在我的应用程序中,我在几个不同的页面中显示了一个活动提要。所以我不是在复制代码,这个提要有它自己的 UITableViewController 代码。对于每个页面,我想指定这个提要(表格)应该显示的区域,并在每个地方使用相同的 UITableViewController 代码。我该怎么做?所有的逻辑/代码都应该由那个 UITableViewController 处理,而不是基本的 VC

我尝试创建一个包含所有行/节/点击逻辑的特定 UITableViewController (FeedViewController) 类。然后,对于我放入 UITableView 的每个页面,分配 FeedViewController,并将委托/数据源设置为 FeedViewController。这很好用,除非我想在新屏幕上推送或调用 reloadData(基于用户与表格的交互方式)。我必须将委托消息发送回基本 VC,例如“pushThisView”或“reloadThisTable”。这看起来很脏。

我怎样才能做到这一点,以便嵌入式 UITableViewController 可以重新加载它自己的表,并将新视图推送/关闭到父 VC 上?

4

1 回答 1

3

UIViewController您应该使用类参考中描述的容器视图控制器。这允许您将任何内容嵌入到任何具有自定义框架和过渡的UIViewController父级中。虽然您会在文档和此答案UIViewController中找到您需要了解的所有内容,但这里有一个代码示例可以帮助您进行设置:

FeedViewController *feedViewController = ... // create your view controller
[self addChildViewController:feedViewController];
feedViewController.view.frame = ... // frame for view
[self.view addSubview: feedViewController.view];

[feedViewController didMoveToParentViewController:self];
于 2012-11-25T18:28:20.690 回答