如何解决iOS 14 TableViewCell 无法设置选定的背景颜色
我刚刚更新了我的应用程序以针对 iOS 14,我注意到的第一件事是当我选择它们时,TableView 中的单元格不再获得标准的灰色背景。过去只需要这样的代码就可以工作:
func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
...
c.selectionStyle = .gray
现在在进行任何更改之前更新后,当我单击一个单元格时,背景只是保持白色(但边框消失)。
我已尝试通过多种方式解决该问题:
- 将 selectedBackgroundView 设置为带有灰色 backgroundColor 的 UIView
- 将 contentView.backgroundColor 设置为 nil 并将 contentView.isOpaque 设置为 false
- 以上两者的结合
- 在我的 TableViewCell 类中覆盖 setSelected 和 setHighlighted
- 添加后台配置
TableViewCell 类中的后台配置:
override func updateConfiguration(using state: UICellConfigurationState) {
var background = UIBackgroundConfiguration.listPlainCell()
if state.isHighlighted || state.isSelected {
background.backgroundColor = .systemGray6
} else {
background.backgroundColor = .red// red just to see if it does anything
}
self.backgroundConfiguration = background
}
没有任何效果。我只是继续看到白色背景,边框消失了。我该如何解决这个问题?
这是一张桌子的图片。当前选择了第三个单元格,注意底部边框消失了,它仍然是白色的。此外,它通常在单元格中有一个图像和文本,但为了保持简单,我暂时将它们设置为隐藏
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。