UITableView与UIWebView

时间:2012-01-18 02:26:29

标签: ios ios5

我正在创建一个需要显示多个数据的数据量很大的应用程序,并允许选择该行数据以获得更详细的视图。该应用程序的目的地是iPad(而不是iPhone)。

数据最适合网格布局 - 有多条信息,没有一条比其他数据更重要。换句话说,我正在努力想出一个逻辑方法来在UITableView的默认单列世界中显示它。

这里有一个问题:我应该把它搞砸并自己教一下看起来很难完成UITableView的子类化并尝试使用多个视图来创建多个列,或者,如果我只是使用UIWebView,创建一个传统的HTML表格,并捕获表的行的单击作为事件以生成新视图。我认为后一种选择是可能的吗?

我已经看过一些可用的开源网格类 - 但是,它们在修道者或功能方面看起来都有点受限(即能够点击像UITableView这样的行)。

我开始觉得我像对待一个美化的网络浏览器一样对待iPad,但iOS中有限的文本格式和表格格式选项感觉非常有限。但是......很难否认HTML的使用方式很简单 - 而对于一个休闲程序员来说,我很喜欢懒惰的路线。

我想让人们了解什么是最好的(或可接受的)练习。

感谢。

2 个答案:

答案 0 :(得分:1)

我已经使用标准tableview和自定义单元格完成了列视图,每个单元格都有我需要的列数,每个按钮都有相同的目标,但不同的标签是我区分它们的方式,然后用这个标签是一种我的indexPath.row我可以以任何我想要的方式访问我的数据源(在我的情况下是一个数组)。

你说的另一个解决方案是依赖一些基于网格的视图类,有很多,this is a quick search on cocoa controls

答案 1 :(得分:1)

如果我理解正确,您的基本前提是您需要显示可点击信息的网格。当我试图弄清楚如何在iOS上完成某些事情时,我做的第一件事就是考虑Apple如何做到这一点。

在这种情况下,我会看看Apple如何实现iPad App Store的滚动网格。如果您查看通过wireshark等进入iPad的原始数据,您可以确定Apple实际上只是使用UIWebView和大量HTML / CSS3 / webkit动画来使其看起来像是原生的。这允许苹果创建这个非常自定义的UI,并且它允许他们动态更新整个UI。

同样,Mac / PC上的iTunes Music Store只是Safari / webkit的专用版本,可将大量XML文档解析为UI。

当然,您可以随时使用您所说的内容并找到框架或自定义子类,甚至可以使用自定义UIButton对象和UIScrollView来实现您自己的解决方案。