例如,如果我需要 aUITableView
出现在视图中的其他内容下方,最好的做法是:
- 添加 a
UITableView
作为子视图,或 - 添加一个容器视图,其中包含
UITableViewController
?
据我所知,两者都会提供相同的用户体验,但是我很想知道哪种方法被认为是最佳实践?
例如,如果我需要 aUITableView
出现在视图中的其他内容下方,最好的做法是:
UITableView
作为子视图,或UITableViewController
?据我所知,两者都会提供相同的用户体验,但是我很想知道哪种方法被认为是最佳实践?
你有几个选择:
UITableView
并使包含视图控制器成为表视图的数据源和委托。UITableView
并使其他一些类成为表视图的数据源和委托。选择取决于适当的责任划分和封装。
如果您需要在多个视图控制器中嵌入表格视图,选项 2 和 3 允许重用。
你的问题没有简单的答案。这完全取决于您的需求、数据和应用程序的结构。
iOS 的一般规则,尤其是 iPhone/iPod touch 外形规格,是在任何给定时间,屏幕上都应该只有一个视图控制器。当您想要违反该准则时,我能想到的唯一情况是,当您有一个内置大量逻辑的子视图,并且该子视图需要包含在多个其他视图中时。例如,弹出框应该有自己的视图控制器,因为它可能需要与多个其他视图控制器一起显示。
在您的情况下,我强烈建议您将 UITableView 添加为子视图,除非(1)表格视图有很多与父视图控制器无关的逻辑,或者(2)您需要显示应用程序的另一部分中的相同表格视图。
我宁愿使用容器视图控制器,原因如下:
但最终,它们都是有效的解决方案。