UICollectionView:我需要使用UICollectionViewController吗?

时间:2014-02-05 15:11:29

标签: ios iphone uicollectionview uicollectionviewdelegate

我正在使用XCode5和iOS7。 是否可以将UICollectionView嵌入到普通的UIViewController类中并让UIViewController实现这些方法?

或者我需要UICollectionViewController吗?

至少需要哪些方法?

4 个答案:

答案 0 :(得分:3)

是的,可以在没有UICollectionViewController的情况下实现UICollectionView。 CollectionViews就像tableView。

您可能已经知道,当您使用UITableView时,您必须设置数据源和委托,以便提供显示和处理事件的数据(如行选择)。 同样,当您使用UICollectionView时,您还必须设置数据源和委托。
他们的作用如下:
1.数据源(UICollectionViewDataSource)返回有关集合视图中项目数及其视图的信息。
2.发生事件时会通知代表(UICollectionViewDelegate),例如选择,突出显示或删除单元格。

UICollectionView的新手,您必须实现第三个协议 - 一个特定于布局管理器的协议,用于集合视图。

答案 1 :(得分:1)

您可以使用UICollectionView,您需要UICollectionView以符合UICollectionViewDelegate和UICollectionViewDataSource协议。

因此您至少需要;

numberOfSectionsInCollectionView,numberOfItemsInSection,您需要实现cellForItemAtIndexPath来创建单元格。显然你还需要定义Cell

答案 2 :(得分:0)

您不需要UICollectionViewController。请确保您的ViewController实现UICollectionViewDelegateUICollectionViewDataSource

此示例可以帮助您使用UICollectionView主题: http://adoptioncurve.net/archives/2012/09/a-simple-uicollectionview-tutorial/

答案 3 :(得分:0)

答案是否定的。 UICollectionView UIVIew 的子类,可以添加到您希望的任何视图中。 由于 UIVIewController 具有视图属性,您可以使用以下方法向其添加 UICollectionView

[self.view addSubview:self.collectionView];

这是一个很棒的示例项目教程,您可以在其中看到如何在自定义 UIViewController 子类中实现 UICollectionView http://www.raywenderlich.com/22324/beginning-uicollectionview-in-ios-6-part-12