如何更改所选UICollectionViewCell的颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改所选UICollectionViewCell的颜色相关的知识,希望对你有一定的参考价值。

我有UICollectionView有10个细胞。当视图加载时,所有单元格都将加载透明图像。

现在,当用户选择特定的UICollectionViewCell时,如何更改该单元格颜色,剩余的单元格将具有默认的背景颜色。

答案

你应该继承UICollectionViewCell,将你的单元格改为该子类,并覆盖setSelected:。例如:

- (void)setSelected:(BOOL)selected {
    if ( selected ) { // Selected cell
        self.backgroundColor = [UIColor redColor];
        self.textLabel.textColor = [UIColor whiteColor];
    }
    else { // Normal cell
        self.backgroundColor = [UIColor whiteColor];
        self.textLabel.textColor = [UIColor darkGrayColor];
    }
}

在Swift中:

override var isSelected: Bool {
    didSet {
        if isSelected { // Selected cell
            self.backgroundColor = UIColor.redColor()
            self.textLabel?.textColor = UIColor.whiteColor()
        } else { // Normal cell
            self.backgroundColor = UIColor.whiteColor()
            self.textLabel?.textColor = UIColor.darkGrayColor()
       }
    }
}

以上是关于如何更改所选UICollectionViewCell的颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何动态更改网页所选菜单项的颜色?

执行 setCollectionViewLayout 时 UICollectionViewCel 中的布局看起来很奇怪

如何在jQuery中更改所选项目[重复]

Eclipse Neon:如何更改所选线条的颜色?

如何使用 jQuery 检查所选选项的更改? [复制]

如何更改材质ui表中所选行的文本颜色