当我选择表格视图上的单元格时,它会变为此白色。我想改变它。
我尝试使用if语句,但它没有用。
这是我使用的代码。
override func tableView(_ tableView: UITableView, cellForRowAt
indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cellId", for: indexPath)
if cell.isSelected == true {
cell.backgroundColor = .blue
} else {
cell.backgroundColor = .red
}
return cell
}
答案 0 :(得分:11)
你可以做其中任何一个 -
例如:如果将其更改为UITableViewCellSelectionStyleGray,它将为灰色。
cell.selectionStyle = UITableViewCellSelectionStyleGray;
更改selectedBackgroundView属性。
let bgColorView = UIView()
bgColorView.backgroundColor = UIColor.red
cell.selectedBackgroundView = bgColorView
cell.selectionStyle = UITableViewCellSelectionStyle.gray
答案 1 :(得分:1)
也许你需要这个:
cell.selectedBackgroundView
答案 2 :(得分:0)
您可以在“willSelect”或“didSelect”方法中进行背景颜色更改。 例如:
override func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath? {
let cell = tableView.cellForRow(at: indexPath)!
cell.contentView.superview?.backgroundColor = UIColor.blue
return indexPath
}
答案 3 :(得分:0)
在您的UITableViewCell
类中,使用以下代码更改所选单元格背景颜色
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
if selected {
self.contentView.backgroundColor = UIColor.red
} else {
self.contentView.backgroundColor = UIColor.white
}
}
答案 4 :(得分:0)
您可以使用awakeFromNib方法设置“选定背景”视图
class MyCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
selectedBackgroundView = {
let view = UIView.init()
view.backgroundColor = .white
return view
}()
}
}