我正在使用 XCode5 和 iOS7。是否可以将 UICollectionView 嵌入到普通的 UIViewController 类中并让 UIViewController 实现这些方法?
还是我需要 UICollectionViewController?
最少需要哪些方法?
我正在使用 XCode5 和 iOS7。是否可以将 UICollectionView 嵌入到普通的 UIViewController 类中并让 UIViewController 实现这些方法?
还是我需要 UICollectionViewController?
最少需要哪些方法?
是的,可以在没有 UICollectionViewController 的情况下实现 UICollectionView。CollectionViews 就像 tableView 一样。
您可能已经知道,当您使用 UITableView 时,您必须设置数据源和委托,以便提供数据来显示和处理事件(如行选择)。同样,当您使用 UICollectionView 时,您还必须设置数据源和委托。
它们的作用如下:
1. 数据源(UICollectionViewDataSource)返回有关集合视图中的项目数量及其视图的信息。
2. 委托(UICollectionViewDelegate)在发生事件时收到通知,例如选择、突出显示或删除单元格。
作为 UICollectionView 的新手,您必须实现第三个协议——一个特定于您用于集合视图的布局管理器的协议。
您可以使用 UICollectionView,您需要 UICollectionView 符合 UICollectionViewDelegate 和 UICollectionViewDataSource 协议。
所以你至少需要;
numberOfSectionsInCollectionView、numberOfItemsInSection 并且您需要实现 cellForItemAtIndexPath 来创建单元格。显然你还需要定义 Cell
你不需要 UICollectionViewController。只需确保您的 ViewController 实现了UICollectionViewDelegate
and UICollectionViewDataSource
。
这个例子应该可以帮助您了解 UICollectionView 主题:http: //adoptioncurve.net/archives/2012/09/a-simple-uicollectionview-tutorial/
答案是否定的。UICollectionView是UIVIew的子类,可以添加到您希望的任何视图中。由于UIVIewController具有 view 属性,您可以使用以下方法将UICollectionView添加到它:
[self.view addSubview:self.collectionView];
这是一个很棒的示例项目教程,您可以在其中看到如何在自定义UIViewController子类中实现UICollectionView: http ://www.raywenderlich.com/22324/beginning-uicollectionview-in-ios-6-part-12