【问题标题】:Overridden setSelected and setHighlighted doesn't retain selected background when scrolls out of view滚动出视图时,覆盖的 setSelected 和 setHighlighted 不会保留选定的背景
【发布时间】:2019-07-12 08:37:15
【问题描述】:

我的 setSelected 供我重复使用 UITableViewCell 看起来像这样(我的 setHighlighted 也是如此):

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

每当单元格向外滚动然后返回视图时,背景颜色就会变回默认的白色。就好像单元格没有保持其选定状态。

【问题讨论】:

    标签: ios swift uitableview cocoa-touch


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      • 2014-06-19
      • 2014-10-03
      • 1970-01-01
      相关资源
      最近更新 更多