ios - 使用动态大小的单元格限制 UICollectionView 的数量

标签 ios objective-c uicollectionview

我有一个 View 显示用户的音乐兴趣。由于每个兴趣的文本长度可能不同,我使用了 UICollectionView 来呈现这些项目。

enter image description here

问题是我想将列表的大小限制为 7 行。如果元素多于放不下,我需要在末尾显示一个元素 [...] 以表明还有更多元素。

在上面的示例中,我会将“Grimes”一词更改为“...”。

有没有什么办法,使用动态大小的 UICollectionView 单元格,在给定空间呈现在屏幕上之前知道有多少项目适合给定空间,从而能够将最后一个项目更改为“...”(要么通过删除多余的项目并添加新项目,或通过更新最后一个单元格标题)。

最佳答案

您也可以事后处理它,方法是允许 collectionview 自行布局并确定它是最后一个单元格,然后获取 collectionView 的 .visibleCells 数组中的最后一个单元格。

[self.collectionView performBatchUpdates:^{
    [self.collectionView reloadData];
} completion:^(BOOL finished) {
    UICollectionViewCell *targetCell = self.collectionView.visibleCells.lastObject;
    targetCell.backgroundColor = [UIColor blueColor];//or whatever needs to change
}];

关于ios - 使用动态大小的单元格限制 UICollectionView 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36069190/

相关文章:

iphone - stopMonitoringForRegion with dummy lat long but the right "identifier"

ios - 在 [UIViewControllerTransitionCoordinator animateAlongsideTransition] 中指定动画选项

ios - 正确的scrollViewWillEndDragging代码?

ios - 禁用 scrollViewDidScroll : when scrolling UICollectionView - iOS

iphone - 为什么 Xcode 不显示 UIWebView 的智能感知

ios - Swift 3/Xcode 8.2 - viewDidLoad 中的切换 View 不起作用

c# - 如何在 iOS 上使用 Xamarin 未公开的方法?

ios - 如何添加约束以编程方式将两个 View 附加在一起?

ios - 如何将NSStrings的NSArray转换成Json String iOS

ios - 快速枚举定义中的方法只会被调用一次还是每次迭代(objective-c)?