我的setSelected
供重复使用UITableViewCell
看起来像这样(我的setHighlighted
也是如此):
override func setSelected(_ selected: Bool, animated: Bool) {
if selected {
backgroundColor = .red
} else {
backgroundColor = .white
}
}
每当单元格滚动出来然后回到视图时,背景颜色就会变回默认的白色。好像该单元格未保持其选定状态。
答案 0 :(得分:1)
问题在于,setSelected
会被调用,如果选择了该单元格,则会将其更改为正确的背景色,然后setHighlighted
将会被调用,并且由于我的单元格未突出显示,因此会更改我的单元格单元格恢复为默认的白色。
我只是从setHighlighted
实现中取出内容,它解决了我的问题。