9

我一直在寻找设置UICollectionViewiOS 应用程序的方法。谷歌只出现了一些关于它是什么的帖子,而不是它是如何工作的。当然,Apple 文档很有帮助,但没有提供我希望能够设置UICollectionView.

如何设置一个UICollectionView

4

2 回答 2

32

uicollectionview类几乎相同。它们共享许多相同的方法和功能。如果方法/功能不同,大多数时候只需将“行”换成“单元”,反之亦然。但是,有一些 UICollectionView 上不存在的方法在 UITableView 上执行。首先,我将解释如何设置 UICollectionView:

  1. 首先将你的 UICollectionView 添加到当前的 ViewController,或者创建一个新的 UICollectionViewController。视图和控制器的步骤并没有太大的不同。
  2. 如果您使用的是 View 而不是 ViewController,请确保 CollectionView 的DelegateDataSource是它所在的视图控制器。还要确保将 Delegate 和 DataSource 添加到您的头文件中:<UICollectionViewDataSource, UICollectionViewDelegate>

  3. 接下来,确保在视图控制器的类中包含这三个方法:

    -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
    
    -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    
    -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    
  4. 这些是唯一需要的方法。第一个告诉集合视图它应该有的部分数量。这应该返回一个整数值。第二种方法获取每个部分中的单元格数。同样,这应该返回一个整数值。最后一种方法使用给定的数据(通常来自 NSArray)填充每个单元格。最后一个方法应该返回一个 CollectionViewCell。如果您在此方法上设置断点,您会注意到该numberOfItemsInSection方法中定义的每个单元格都会调用一次。

UICollectionViews 提供高级动画方法并允许取消选择和选择单元格(类似于在“编辑”模式下的页面等应用程序)。但是,据我所知,UICollectionViews 不提供诸如“滑动删除”之类的功能或某种披露指示器。

UICollectionViews 还允许您使用 (AKA ) 文件创建自定义单元格,这允许一些非常高级的外观和独特的界面,而无需大量复杂的代码。

遗憾的是,UICollectionView 仅在 iOS 6 及更高版本中受支持。有一些项目可用,例如PSTCollectionView,它在 iOS 4.3+ 中添加了对 CollectionViews 的支持,但我还没有弄清楚如何使用它们。就我而言,当视图加载时,我只检查 UICollectionView 类是否可用,如果不可用,则改为加载表。

这是 Apple 关于Collection Views的官方文档的链接。您可能还想查看本教程

于 2012-09-29T16:11:26.940 回答
25

我创建了一个使用自定义布局设置 UICollectionViews的分步教程。希望它可以帮助一些人熟悉 API。

于 2012-12-04T00:45:40.513 回答