Как изменить галочку 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 самой ячейки.

Другие вопросы по тегам