在iOS中设置UICollectionView

我一直在寻找设置iOS应用程序的UICollectionView方法。 Google只会发布一些关于博客内容的博客,而不是如何运作。 那么当然,苹果的文档是有帮助的,但没有提供尽可能多的信息,因为我希望能够设置UICollectionView

如何设置一个UICollectionView

uicollectionview类几乎与uitableview类相同。 他们有许多相同的方法和function。 如果方法/function不同,大部分时间只是将“行”换成“单元”,反之亦然。 但是在UITableView上有一些在UICollectionView上不存在的方法。 首先,我将解释如何设置UICollectionView:

  1. 首先将您的UICollectionView添加到当前的ViewController,或者创build一个新的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提供了高级animation方法,并允许取消select单元格(类似于“编辑”模式下的页面等应用程序)。 不过,据我所知,UICollectionViews并没有提供“轻扫删除”的function,也没有提供类似的披露指标。

UICollectionViews还允许您使用xib (AKA nib )文件创build自定义单元格,这允许一些非常先进的外观和独特的接口,没有太多复杂的代码。

不幸的是,UICollectionView只支持在iOS 6及以上。 有一些项目可用,如PSTCollectionView ,它增加了对iOS 4.3+的CollectionViews的支持,但我还没有想出如何使用它们。 在我的情况下,当视图加载我只是检查是否UICollectionView类是可用的,如果不是,那么我加载一个表。

这里是一个链接到苹果官方文件收集意见 。 你可能也想看看这个教程 。

我创build了一个分步教程,用于设置具有自定义布局的UICollectionViews。 希望这有助于一些人熟悉API。