2014-02-05 51 views

回答

1

是的,它可以實現無UICollectionView UICollectionViewController。 CollectionViews就像tableView。

正如你可能已經知道的,當你使用UITableView時,你必須設置一個數據源和一個委託來提供數據來顯示和處理事件(如行選擇)。 同樣,當您使用UICollectionView時,您也必須設置數據源和委託。
他們的角色如下:
1.數據源(UICollectionViewDataSource)返回有關集合視圖中項目數及其視圖的信息。
2.代理(UICollectionViewDelegate)在事件發生時被通知,例如單元格被選中,突出顯示或刪除。

對於UICollectionView而言,您必須實現第三個協議 - 您正在用於收集視圖的佈局管理器特定的協議。

+0

但我可以使用標準的UICollectionViewFlowLayout沒有子類? – mrd

+0

是的,你可以..:) @mradlmaier –

+0

如果您想要利用內置的單元拖放功能,則必須使用UICollectionViewController的子類,以便您可以將installsStandardGestureForInteractiveMovement屬性設置爲true。否則,如果你想在不使用UICollectionViewController的情況下使用UICollectionView進行拖放,你必須自己實現手勢識別器 – Teevus

1

您可以使用UICollectionView,您需要UICollectionView以符合UICollectionViewDelegate和UICollectionViewDataSource協議。

所以你至少需要;

numberOfSectionsInCollectionView,numberOfItemsInSection,你需要實現cellForItemAtIndexPath來創建單元格。顯然你還需要定義單元格

+0

我明白...這是我的理解,雖然我還沒有找到任何教程W/O UICollectionVieController ... – mrd

0

答案是否定的。 UICollectionViewUIVIew的子類,可以添加到您希望的任何視圖中。 由於的UIViewController具有視圖屬性,你可以使用添加UICollectionView它:

[self.view addSubview:self.collectionView]; 

這裏是一個樣本項目中偉大的教程在這裏你可以看到如何實現UICollectionView在您的自定義的UIViewController子: http://www.raywenderlich.com/22324/beginning-uicollectionview-in-ios-6-part-12

+0

tx的提示...我沒有看到你的鏈接到樣本...? – mrd

+0

對不起,我忘了粘貼它,檢查編輯的答案:) –