【问题标题】:iPhone UI with Tableview or Scrollview? [closed]带有 Tableview 或 Scrollview 的 iPhone UI? [关闭]
【发布时间】:2012-02-22 05:13:15
【问题描述】:

我想知道在为特定屏幕构建 UI 时,iOS 开发中的最佳实践是什么。由于可以为表格视图创建自定义单元格,因此您可以使用表格视图来创建您可能想要的任何布局/UI。这引出了我的问题:

一般来说,当在 iPhone 应用程序上创建一个屏幕内容多于单个屏幕的内容时,最好使用滚动视图并将您的自定义视图加载到滚动视图中,还是创建一个表格视图并让您的自定义视图改为自定义 tableview 单元格?

最终,您似乎可以获得完全相同的视觉效果,但最佳实践是什么。如果一个特定的可滚动屏幕是使用 tableview 或 scrollview 构建的,我很难判断我下载的应用程序。

在 HTML 中,您应该只将元素用于显示表格数据,而不是用于布局和样式目的。 iOS中的情况是否相同?将表格视图用于布局目的(例如,应用程序的主屏幕列出了转到应用程序其他部分的按钮)是一种不好的做法吗?

提前干杯。

【问题讨论】:

  • 这个问题的唯一好答案是:“视情况而定”。这确实不是 SO 的正确材料

标签: iphone ios ios4 ios5


【解决方案1】:

如果您要滚动浏览大量内容,UITableView 可能会帮助您降低内存使用率。

当单元格滚动到视线之外时,它会从视图中移除并由UITableView 保留以供以后使用(通过-dequeueReusableCellWithIdentifier:)。如果您的内存不足,那么我相信那些不可见的视图 (UITableViewCells) 将被释放。这基本上意味着您的应用程序只会将实际可见的视图保留在内存中。更多内容将被缓存,但可以在需要时随时清除。

如果您显示大量数据,并将其全部添加到UIScrollView,则可能会比使用UITableView 使用更多的内存。您可能必须实现与 UITableView 类似的机制来移除(并可能释放)不可见视图。

所以,您基本上可以达到相同的效果,但 UITableView 已经为您做了很多工作。

如果您显示大量数据(可能超过大约两个屏幕),我倾向于使用 UITableView

【讨论】:

  • 感谢您的回答。我通常倾向于在我的大多数屏幕布局中使用表格视图,特别是为了这种内存优势。我真的想知道 iOS 开发社区中是否有一种严格的心态,即只应在表格视图中显示表格数据。与在 HTML 中一样,大多数前端开发人员会建议在 中仅显示表格数据。所以我真的很好奇人们是否会看到我的应用程序代码并畏缩并说“eeww a tableview for non-tabula data”。我想情况并非如此。
猜你喜欢
  • 2014-04-07
  • 1970-01-01
  • 2023-04-01
  • 2015-04-11
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 2010-11-17
  • 1970-01-01
相关资源
最近更新 更多