我需要在iPhone应用程序中显示一个表:
在编译时,单元格的数量和内容都不为人所知,只是在运行时才知道。
每个单元格的视图可能不同,一个单元格有textField,另一个单元格可能有其他视图控件。
我应该考虑静态细胞还是原型细胞?我应该考虑tableViewController还是有tableview的viewController?
在开始编码之前,有什么需要考虑的吗?提前感谢
- 对于"运行时单元格的动态编号"问题,您可以在准备好数据源的任何时候调用表视图的重载数据
- 原型细胞应该毫无问题地使用
- 简单的表视图就足以完成任务
- 您必须在代码或情节提要中为每种类型的单元格创建单元格,1表视图可以有多种类型的原型单元格,只需对它们进行不同的命名,然后只创建数据最适合的特定单元格的对象
- 这并不难,但一定要非常小心地处理数据源
我应该考虑静态细胞还是原型细胞?
如果您知道单元格可能需要适当显示数据的所有可能的子视图组合,并且它们相对较少,则为每个创建一个原型。例如:
- 一个文本字段
- 两个标签
- 一个图像视图和一个标签
等
否则,只需使用普通的UITableViewCell
(无子类化),并在重用子视图时在运行时移除/添加子视图(即在方法-tableView:cellForRowAtIndexPath:
内部)。
我应该考虑tableViewController还是使用tableview的viewController在里面?
我选择UIViewController
+UITableView
而不是UITableViewController
的原因是,例如,如果我需要表视图只占用主视图边界/屏幕的部分,并在其余部分显示其他子视图,则仅限于。否则,使用UITableViewController
可以"免费"获得很多东西,因此从零开始实现所有这些都毫无意义。
您必须选择原型单元格,您可以根据需要创建不同类型的单元格。对u来说,任何想法都可以,u可以创建表视图控制器或视图控制器。