我有一个 View 显示用户的音乐兴趣。由于每个兴趣的文本长度可能不同,我使用了 UICollectionView 来呈现这些项目。
问题是我想将列表的大小限制为 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/