2012-04-16 95 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