带有 Tableview 或 Scrollview 的 iPhone UI?

标签 iphone ios ios4 ios5

<分区>

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

一般来说,当在 iPhone 应用程序上创建一个屏幕时,如果内容多于单个屏幕,那么是使用 ScrollView 并将自定义 View 加载到 ScrollView 中更好,还是创建一个 TableView 并让您的自定义 View 而不是自定义 tableview 单元格?

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

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

提前干杯。

最佳答案

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

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

如果您显示大量数据,并且只是将它们全部添加到 UIScrollView 中,那么与使用 UITableView 相比,它可能会使用更多的内存。您可能必须实现与 UITableView 删除(并可能释放)不可见 View 的机制类似的机制。

因此,您基本上可以实现相同的效果,但是 UITableView 已经为您完成了很多工作。

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

关于带有 Tableview 或 Scrollview 的 iPhone UI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9389420/

相关文章:

ios - 在 NSMutableArray 中搜索对象并删除冗余值的最有效方法

ios - MKMapItem.forCurrentLocation() 返回 "Unknown Location"

iphone - 创建一个 3D 会说话的角色 iPhone 应用程序

iphone - iOS 中的内存泄漏

android - 将 Iphone/Android Wifi 更改为监控模式

iphone - 如何从 iOS 中已有的源代码创建静态库或框架

iphone - 将 NSManagedObject 复制到内存中的新对象

ios - 重复使用 TableView 中的单元格导致按钮问题

ios - 图像未从 iOS 中的文件路径加载

objective-c - 是否可以在进程运行时停止 libxml 解析器?