Как изменить галочку backgroundColor в табличном представлении
Я использую галочку в Tableview
Я хочу изменить свой флажок BackgroundColor, но не смог
Я не знаю как это сделать
Можете ли вы помочь мне, спасибо
3 ответа
Попробуй это
cell.accessoryType = .checkmark
cell.accessoryView = UIView(frame: CGRect(x: <0>, y: <0>, width: <20>, height: <20>))
cell.accessoryView?.backgroundColor = UIColor.blue
Изменить UITableViewCell
оттенок цвета, и это также изменит цвет галочки
cell.tintColor = .red
После выбора ячейки в табличном представлении вам нужно изменить выделение в инспекторе, как показано на рисунке ниже, чтобы изменить цвет во время выделения
Если вы хотите изменить только цвет фона галочки, вы должны использовать пользовательские accessoryView
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.accessoryView = accessoryView(isSelected: false)
cell.selectionStyle = .none
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
let cell = tableView.cellForRow(at: indexPath)
cell?.accessoryView = accessoryView(isSelected: true)
}
func accessoryView(isSelected:Bool)->UIView
{
let v = UIView()
v.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
let checkMarkLbl = UILabel()
checkMarkLbl.text = "✔︎"
checkMarkLbl.sizeToFit()
checkMarkLbl.textAlignment = .center
checkMarkLbl.center = v.center
v.addSubview(checkMarkLbl)
v.backgroundColor = isSelected == true ? .lightGray : .white
return v
}
Если вы хотите изменить только цвет галочки, измените tintColor самой ячейки.