2012-04-16 97 views
2

我在一个特定的类型列表中工作的iOS应用,其中细胞只会有一个特定的宽度和高度,然后左浮动(认为类似CSS float:left),创建然后列出将如果超过12个项目滚动(如下图所示)。UITableView的浮动细胞

http://f.cl.ly/items/3a0D031s0R1U2w1q2B2d/Image%202012.04.16%2021:16:09.png

我在想,也许这可以通过自定义的UITableViewCell并设置帧的宽度和高度来完成,这样我就可以重新使用的各种好处的UITableViewController,委托和数据源提供。但不幸的是,似乎这是不可能的。 所以,我现在简单地创建许多UIViews,并通过编程方式将它们定位在父代之上。

我只是想确保这是一个正确的方式来实现这类名单,如果有人可以让我知道,如果它确实不可能有UITableView的这种功能,并继承了所有它提供的善良。

谢谢你们伙计

回答

2

我知道这个问题已经回答了,但仍...

我相信你可以从iOS 6.0开始使用UICollectionView。

Documentation

,这是它的样子(image

也许这将帮助别人。

+0

谢谢,我想保持更新的东西在这里,我们应该纪念你的答案是正确的为iOS提供了时下功能的缘故。干杯 – zanona 2013-02-07 16:58:30

1

UITableView只能有一个方向的单元格。如果它们的数量合理,创建许多UIViews(表格视图单元格也是UIViews)是完全可以的。通常你可以有几百UIViews在滚动视图没有看到任何性能问题,但是这也要看的uiviews里面有什么复杂。自己尝试一下,如果你发现,你需要太多的uiviews,或者它的复杂度太高,你可以进一步优化。您可以将.layer.shouldRasterize属性设置为“缓存”视图的内容。或者你可以使用CATiledLayer,这有点像一个UITableView,但它支持瓷砖在所有方向(和滚动,缩放,......)。

+0

谢谢你的答案约翰,好知道这是个不错的办法。如果应用程序太复杂,我一定会看看这些方法。 – zanona 2012-04-17 07:51:07

1

看看这个项目,我觉得可能有助于您的问题

link