在iOS中设置UICollectionView

时间:2012-09-29 16:11:27

标签: objective-c ios uicollectionview

我一直在寻找为iOS应用设置UICollectionView的方法。谷歌只发布了一些博客,上面有关于 的帖子,而不是 的工作方式。当然,有Apple文档是有用的,但没有提供尽可能多的信息,因为我希望能够设置UICollectionView

如何设置UICollectionView

2 个答案:

答案 0 :(得分:32)

类几乎与类完全相同。它们共享许多相同的方法和功能。如果方法/功能不同,大多数情况下只需要换掉“细胞”的“行”,反之亦然。但是,UICollectionView上有一些在UITableView上不存在的方法。首先,我将解释如何设置UICollectionView:

  1. 首先将您的UICollectionView添加到当前的ViewController,或者创建一个新的UICollectionViewController。视图和控制器的步骤并没有太大的不同。
  2. 如果您使用的是View而不是ViewController,请确保CollectionView的委托 DataSource 是它所在的视图控制器。还要确保将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方法中定义的每个单元格调用了一次断点。

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

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

    可悲的是,UICollectionView仅在iOS 6及更高版本中受支持。有一些项目可用,例如PSTCollectionView,它在iOS 4.3+中添加了对CollectionViews的支持,但我还没弄清楚如何使用它们。在我的情况下,当视图加载时,我只检查UICollectionView类是否可用,如果不可用,那么我会加载一个表。

    以下是关于Collection Views的Apple官方文档的链接。您可能还想查看此tutorial

答案 1 :(得分:25)

我创建了一个循序渐进的tutorial,用于设置具有自定义布局的UICollectionViews。希望它能帮助一些人熟悉API。