当前位置:  开发笔记 > 编程语言 > 正文

重载数据后,UICollectionView单元格保持突出显示

如何解决《重载数据后,UICollectionView单元格保持突出显示》经验,为你挑选了1个好方法。

UICollectionView在单元格内部有标签,可以定期自动更改.当此更新触发时,我调用reloadDataUICollectionView并设置单元格以更改背景颜色[UICollectionViewCell setHighlighted:].

问题是如果用户按住某个单元格然后进行更新,则当用户释放该单元格时会保持突出显示并且也不能再进行选择.

我注意到dequeueReusableCellWithReuseIdentifier:forIndexPath:reloadData之后在单元格上调用setHighlighted.

我也试过reloadSections:而不是reloadData,这解决了细胞被"卡住"的问题,但是当它被调用时会导致细胞淡出并进入细胞.

将呼叫置于内部performBatchUpdates:似乎也无法解决问题.



1> jamone..:

在单元格的类中尝试调用:

- (void)prepareForReuse {
    [super prepareForReuse];
    [self setHighlighted:NO];
    ... Any other custom stuff that should be cleaned up ...
}

问题是,您可能正在进行不同的背景着色,然后突出显示单元格通常会自行进行.通常,单元格的超类会撤消这些更改prepareForReuse,但它不知道您的更改.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有