保持 UICollectionView Cell 的值
Posted
技术标签:
【中文标题】保持 UICollectionView Cell 的值【英文标题】:Keep value of UICollectionView Cell 【发布时间】:2015-02-08 14:11:32 【问题描述】:UICollectionViewCell 中有一个标签。 我在 UICollectionView 中制作了 6 个单元格,并为每个单元格中的标签分配了一个数字 (1-6)。 我调用 [UICollectionView reloadData] 并期望标签中的数字相同。 但是,调用 cellForItemAtIndexPathas 时会更改标签值,例如“1 3 1 3 1 3”。 似乎 UICollectionViewCell 已重新定位在 cellForItemAtIndexPathas 中。
有什么办法可以保存吗?
-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
InfoCollectionViewCell *infoCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"InfoCell" forIndexPath:indexPath];
[infoCell.cellText setText:[infoCell.cellText.text stringByAppendingString:[NSString stringWithFormat:@"%d\n",indexPath.row]]];
return infoCell;
【问题讨论】:
这些单元格通常是在cellForItemAtIndexPath
中“制作”的,通常是通过调用dequeueReusableCellWithReuseIdentifier
来完成的,但我从这个问题中得到了感觉,这不是你在做什么。如果不查看代码,很难了解那里可能出了什么问题。我建议在您的问题中添加一些示例代码 - 会更容易回答。
附上我的代码。我希望 infoCell.cellText 标签在每次调用时都是相同的。但是,这是随机更改的。
【参考方案1】:
添加到单元格的标签存在重复使用问题。
我发表了一篇关于如何正确继承 UICollectionViewCell 的帖子。 你可以在这里查看: UICollectionView adding image to a cell
【讨论】:
谢谢。我找到了“出队”。所以,它会在出队后重用。以上是关于保持 UICollectionView Cell 的值的主要内容,如果未能解决你的问题,请参考以下文章
解决UICollectionView的Cell复用引起的布局混乱问题
ios . -- UICollectionView --cell 自适应
UICollectionView cell间距调整以及常用代理方法
UICollectionview 不工作,我没有得到任何 Cell
iOS解决UICollectionView中使用reloadItemsAtIndexPaths进行局部cell更新导致视图重叠问题