带有Tableview或Scrollview的iPhone UI?

use*_*255 3 iphone ios4 ios ios5

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

通常,在iPhone应用程序上创建一个屏幕,其内容超出单个屏幕时,可以更好地使用滚动视图并将自定义视图加载到滚动视图中,或者创建一个tableview并改为使用自定义视图是自定义tableview单元格?

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

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

提前干杯.

Tho*_*ler 8

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

当一个单元格滚出视线时,它会从视图中移除并保留在UITableView以后用于以后使用(通过-dequeueReusableCellWithIdentifier:).如果内存不足,我相信这些不可见的视图UITableViewCell会被释放.这基本上意味着您的应用只会在内存中保留实际可见的视图.更多内容将被缓存,但如果需要可以随时清除.

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

所以,你基本上可以达到同样的效果,但是UITableView已经为你做了很多工作.

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