UITableViewController与TableView的区别

24

在xCode中将Table View Controller拖入故事板与将UI View Controller拖入后再拖入Table View的区别是什么?

我知道如何在代码中填充表视图控制器。

- (UITableViewCell *)tableView:(UITableView *)tableView 
                     cellForRowAtIndexPath:(NSIndexPath *)indexPath;

如何在UI视图控制器中填充表视图?要委托给哪个自定义类处理UI视图?我无法将tableViewController放入其中,因为它只是一个带有表视图的视图控制器...

我想知道这个问题的答案,因为我想在该视图中除了表格以外还有其他对象(例如,视图的一部分用于表格,另一部分包含标签、图像和按钮)。

3个回答

33

在UIViewController中填充UITableView与在UITableViewController中填充UITableView并无区别,只需确保您实现了必要的数据源和委托方法。您还需要确保将UIViewController分配为UITableView的委托和数据源。

如果您想使用除表格之外的对象,则应使用UIViewController。事实上,我现在很少使用UITableViewController,以防需要添加其他对象。


1
这是一个很好的教程:http://www.iosdevnotes.com/2011/10/uitableview-tutorial/ - sosborn
这两者有什么区别呢?我找不到答案。 - meda
7
@meda - UITableViewController 假定唯一可用的视图是 UITableView。在该层次结构中添加更多视图并不容易。另一方面,UIViewController 给您更多灵活性,且初始设置并不难。 - sosborn
1
如果UITableViewCell中有很多组件,UITableView的性能如何? - AykutE

9
我还发现另一个不同之处。当使用带UIScrollViewUITableViewController时,视图会随键盘上移而滚动。但使用UIViewController时需要单独的方法来实现视图上下滚动。
你也可以查看这个链接:https://dev59.com/DGYq5IYBdhLWcg3weAaj#14465669


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接