在uitableviewcell背景颜色的快速变动标签

时间:2016-08-25 07:35:10

标签: ios swift uitableview uilabel

我有自定义单元格的UItablview我需要在选择此行时更改标签背景颜色,但向下滚动时会重复标签颜色

enter image description here

2 个答案:

答案 0 :(得分:3)

你可以像这样对你的Cell进行子类化(然后cellForRow将不负责更新颜色,仅用于设置默认颜色)。

class YourTableViewCellClass: UITableViewCell {

    @IBOutlet weak var yourLabel: UILabel!

    override func setSelected(_ selected: Bool, animated: Bool) {
    if(selected) {

        self.contentView.backgroundColor = UIColor.red //or what you want as your cell bg color
        self.yourLabel.backgroundColor = UIColor.green //or what you want

    } else {

        self.contentView.backgroundColor = UIColor.white //or what you want as your cell bg color
        self.yourLabel.backgroundColor = UIColor.red //or what you want
    }
} }

答案 1 :(得分:1)

我的理解是,你在tableview的didSelectRow方法中添加代码来改变颜色,但在滚动时显示以前的颜色。

因此,您还需要在cellForRow方法中设置条件,例如

if(condition)
{
lbl.textcolor = x
}
else
{
lbl.textcolor = y
}