【问题标题】:Setting Up a UICollectionView in iOS在 iOS 中设置 UICollectionView
【发布时间】:2012-09-21 04:20:41
【问题描述】:

我一直在寻找为 iOS 应用设置 UICollectionView 的方法。谷歌只出现了一些关于它是什么的博客,而不是如何它的工作原理。当然,Apple 文档很有帮助,但没有提供我希望能够设置 UICollectionView 的信息。

如何设置UICollectionView

【问题讨论】:

  • 我强烈建议您在 developer.apple.com 上观看 WWDC 2012 视频。这些视频展示了使用 UICollectionView 可以完成的工作,并带您了解如何设置和编写代码。
  • @RoboticCat 相关视频的标题是什么?我知道 #209 和 #215 看起来很有趣,但实际上在非常糟糕的网站上找到它们是一件苦差事。
  • @SpacyRicochet:两个主要视频是 #205 - 介绍集合视图,然后是 #219 - 高级集合视图和构建自定义布局(我认为您是说这些?)。 UICollectionViews 在另外几个视频中被提及,但我忘了是哪个。另请注意,视频之间的 API 名称(略微)发生了变化;照常检查 iOS 6 发行说明和 iOS6 API 差异(增强的动画自定义不在视频和方法重命名中)。

标签: objective-c ios uicollectionview


【解决方案1】:

类与 类几乎相同。它们共享许多相同的方法和功能。如果方法/功能不同,大多数时候只是将“行”换成“单元格”,反之亦然。但是,有一些 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 提供高级动画方法并允许取消选择和选择单元格(类似于处于“编辑”模式时的 Pages 等应用程序)。但是,据我所知,UICollectionViews 不提供诸如“滑动删除”之类的功能或其他类型的披露指示符。

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

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

这里是 Apple 在Collection Views 上的官方文档的链接。你可能还想看看这个tutorial

【讨论】:

  • AQGridView 也是我用过的非常好的集合视图项目.. :) 是的
【解决方案2】:

我创建了一个逐步的tutorial 用于设置具有自定义布局的 UICollectionViews。希望它可以帮助一些人熟悉 API。

【讨论】:

  • 最史诗级的iOS教程。
猜你喜欢
  • 1970-01-01
  • 2021-01-17
  • 2019-07-13
  • 1970-01-01
  • 1970-01-01
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
  • 2016-04-16
相关资源
最近更新 更多