作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 Collection View 就像上面一样,当选定的单元格全部消失时我正在调用一个 Action :
- (IBAction)clearAction:(UIButton *)sender {
for (CustomCell *cell in self.buy_code_cv.visibleCells) {
if (cell.selected) {
[cell setSelected: NO];
}
}
}
在自定义单元格的 .m
文件中:我覆盖了 setSelected:
方法:
- (void)setSelected:(BOOL)selected {
[super setSelected:selected];
//self.selected = !selected;
if (selected) {
self.backView.backgroundColor = APP_COLOR;
self.number_label.textColor = [UIColor whiteColor];
self.multiple_label.textColor = [UIColor whiteColor];
}
// uncheck
else {
self.backView.backgroundColor = [UIColor whiteColor];
self.number_label.textColor = HexRGB(0x999999);
self.multiple_label.textColor = HexRGB(0xcccccc);
}
if (self.delegate && [self.delegate respondsToSelector:@selector(didSelectedCustomCell:)]) {
[self.delegate didSelectedCustomCell:self];
}
}
如何解决 UICollectionView 中的这个问题?
最佳答案
UICollectionViewCell
只是 Collection View 状态的表示,它不保存 Collection View 的状态。可以选择屏幕外的项目,在这种情况下,该项目甚至不会有 UICollectionViewCell
实例。
您需要告诉 Collection View 取消选择该项目并让它负责更新任何屏幕上的单元格,而不是直接更新单元格。
- (IBAction)clearAction:(UIButton *)sender {
for (NSIndexPath *indexPath in self.buy_code_cv.indexPathForSelectedItems) {
[self.buy_code_cv deselectItemAtIndexPath:indexPath animated:YES];
}
}
关于ios - 在我使用 forin collectionView.visibleCells 将 cell.selected 设置为 NO 后,选择其他它们再次自动选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43882985/
我是一名优秀的程序员,十分优秀!