У меня есть собственный tablevVewCell, связанный с TableViewCell.swift, в ячейке есть кнопка, которая меняет цвет кнопки на зеленый при прикосновении к TouchIpInside, но когда создается новая ячейка (свойство многократного использования dequeue), кнопка новой ячейки также имеет измененные (зеленые)Цвет Я также попытался обработать это, используя if-else, но без помощи. Спасибо за всю помощь (также я имею дело с несколькими разделами здесь).В основном мой вопрос заключается в том, как узнать, что кнопка в классе TableViewCell нажата и назначить значение в MainVC?
MainVC:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TableViewCell
cell.layer.cornerRadius = 20
cell.isUserInteractionEnabled = true
if objArray.count > 0 {
cell.courseCode.text = objArray[indexPath.section].code
cell.courseName.text = objArray[indexPath.section].name
cell.slot.text = objArray[indexPath.section].slot
cell.year.text = objArray[indexPath.section].year
cell.button.tag = indexPath.section
}
return cell
}
TableViewCell:
class TableViewCell: UITableViewCell {
@IBOutlet weak var courseName: UILabel!
@IBOutlet weak var courseCode: UILabel!
@IBOutlet weak var slot: UILabel!
@IBOutlet weak var year: UILabel!
@IBOutlet weak var downloadButton: UIButton!
@IBOutlet weak var button: UIButton!
var buttonIsSelected:Bool = false
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
@IBAction func button(_ sender: Any) {
print(button.tag)
buttonIsSelected = true
button.backgroundColor = .green
}
}