如何更改所选UICollectionViewCell的颜色

时间:2018-03-06 16:08:35

标签: swift uicollectionview uicollectionviewcell

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

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

1 个答案:

答案 0 :(得分:0)

您应该将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];
    }
}

在斯威夫特:

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()
       }
    }
}