objective-c - 在 iOS 中设置 UICollectionView

标签 objective-c ios uicollectionview

我一直在寻找为 iOS 应用程序设置 UICollectionView 的方法。 Google 只找到了一些博客,其中包含关于什么它是什么的帖子,而不是如何它是如何工作的。当然,Apple 文档很有帮助,但没有提供我希望能够设置 UICollectionView 的信息。

如何设置一个 UICollectionView

最佳答案

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

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

  3. 接下来,确保在 View Controller 的类中包含这三个方法:

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

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

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

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

这里是 Apple 官方文档的链接 Collection Views .您可能还想查看此 tutorial .

关于objective-c - 在 iOS 中设置 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654281/

相关文章:

swift - UICollectionView 不同大小的单元格和项目计数

ios - Objective C 中的表单验证

ios - 键盘扩展 : Is it possible to inherit features and UI from the stock iOS keyboard?

objective-c - 寻找仪器之外的方法来验证和检查任何保留周期

iphone - 如何更改 UItabbar 图标图像?

ios - startRecordingToOutputFileURL 没有事件/启用的连接 ios

ios - UICollectionViewCell 没有填满 Swift 3 中的整个屏幕

ios - Swift 中的 JSON 写入 (NSConcreteMutableData) 类型无效

ios - swift - loadAchievementsWithCompletionHandler

ios - 为什么我的UICollectionViewCell无法从UICollectionViewController获取数据?