滚动出视图时,重写的setSelected和setHighlighted不会保留选定的背景

问题描述 投票:0回答:1

我的setSelected为我的重用UITableViewCell看起来像这样(和我的setHighlighted一样):

override func setSelected(_ selected: Bool, animated: Bool) {
  if selected {
    backgroundColor = .red
  } else {
    backgroundColor = .white
  }
}

只要单元格滚出然后再返回视图,背景颜色就会变回默认的白色。就好像细胞没有保持其选择的状态。

ios swift uitableview cocoa-touch
1个回答
1
投票

问题是setSelected会被调用,如果选择单元格会将其更改为正确的背景颜色,然后setHighlighted将被调用,并且由于我的单元格未突出显示,它会将我的单元格更改回默认白色。

我只是从我的setHighlighted实现中取出内容,它已经解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.