пользовательские кнопки ячейки таблицы один выбор / удаление - PullRequest
0 голосов
/ 17 мая 2019

Я кодирую какое-то время, и я застрял с единственным выбором / отменой выбора таблицы.У меня есть таблица с пользовательской ячейкой, в которой есть кнопка.если я нажимаю на одну кнопку, выбирается и другая кнопка внизу. Например, когда я нажимаю на кнопку с индексом 2, другая кнопка получает щелчок на кнопке.

это должно быть похоже на то, когда я нажимаю на одну кнопку, другуюкнопки должны быть отменены.

Спасибо!

enter image description here

 func QuickReview( sender: UIButton){
    if cell.EventReviewQuickeReviewBtn.isSelected == true {
    cell.EventReviewQuickeReviewBtn.layer.borderColor = UIColor.red
    cell.EventReviewQuickeReviewBtn.backgroundColor = UIColor.white
    cell.EventReviewQuickeReviewBtn.layer.borderWidth = 1
    cell.EventReviewQuickeReviewBtn.isSelected = false
    }
    else {
    cell.EventReviewQuickeReviewBtn.layer.backgroundColor = UIColor.green
    cell.EventReviewQuickeReviewBtn.setTitleColor(UIColor.white, for: .normal)
    cell.EventReviewQuickeReviewBtn.isSelected = true
    }
  }

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

когда вы выбираете любую кнопку, вы должны пометить свойство isSelected как false

при условии, что у вас есть список моделей для табличного представления, например

class Example{
...
var isSelected: Bool
...
}

(в ViewController)

let list: [Example] = [example1, example2, example3]


on tap of any button deselect all then selected desire button like

list.forEach { (example) in
                example.isSelected = false
            }
list[selectedButtonIndex].isSelected = true

и затем перезагрузите ваш tableView.

0 голосов
/ 17 мая 2019

Клетки используются повторно. Вам необходимо убедиться, что в обоих условиях установлен / сброшен один и тот же набор свойств.

func QuickReview( sender: UIButton){
    if cell.EventReviewQuickeReviewBtn.isSelected {
        cell.EventReviewQuickeReviewBtn.layer.borderColor = UIColor.red
        cell.EventReviewQuickeReviewBtn.backgroundColor = UIColor.white
        cell.EventReviewQuickeReviewBtn.layer.backgroundColor = UIColor.white // or whatever
        cell.EventReviewQuickeReviewBtn.layer.borderWidth = 1
        cell.EventReviewQuickeReviewBtn.setTitleColor(UIColor.red, for: .normal) // or whatever
    } else {
        cell.EventReviewQuickeReviewBtn.layer.borderColor = UIColor.black // or whatever
        cell.EventReviewQuickeReviewBtn.backgroundColor = UIColor.green // or whatever
        cell.EventReviewQuickeReviewBtn.layer.backgroundColor = UIColor.green
        cell.EventReviewQuickeReviewBtn.layer.borderWidth = 3 // or whatever
        cell.EventReviewQuickeReviewBtn.setTitleColor(UIColor.white, for: .normal)
    }

    cell.EventReviewQuickeReviewBtn.isSelected = !cell.EventReviewQuickeReviewBtn.isSelected
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...