Я сделал ячейку просмотра таблицы, в которой есть кнопка. Я подключил IBAction кнопки в классе tableviewcell.swift. Затем я создал делегат и получил доступ к действию касания кнопки в классе viewcontroller следующим образом.
func optionTap(cell: SlideUpTableViewCell) {
if let indexPath = tableview?.indexPath(for: cell) {
}
}
Но я хочу, чтобы я хотел, чтобы за раз выбиралась только одна кнопка-флажок. У меня есть 3 ряда, и теперь я могу нажать на каждую из 3 кнопок, в то время как я хотел нажать только на 1 кнопку за раз. то есть, если я коснусь кнопки в 1-й ячейке, а затем коснусь кнопки во 2-й ячейке, то кнопка 1-й ячейки должна быть автоматически отменена. Короче, как работает нормальный одиночный выбор ...
Я пробовал это ... Но это не работает ...
func optionTap(cell: SlideUpTableViewCell) {
if let indexPath = tableview?.indexPath(for: cell) {
if selectedArrayIndex.contains(indexPath.row) {
selectedArrayIndex.remove(at: selectedArrayIndex.index(of: indexPath.row)!)
cell.checkBobButton.tintColor = ThemeManager.current().inactiveGrayColor
cell.checkBobButton.setImage(UIImage(named: "circle_stroke"), for: .normal)
} else {
selectedArrayIndex.append(indexPath.row)
cell.checkBobButton.tintColor = ThemeManager.current().secondaryColor
cell.checkBobButton.setImage(UIImage(named: "circle_tick"), for: .normal)
}
}
}
РЕДАКТИРОВАТЬ 1: Это ячейка ForRow ..
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: SlideUpTableViewCell = tableView.dequeueReusableCell(withIdentifier: cellID) as! SlideUpTableViewCell
cell.delegate = self
cell.selectionStyle = .none
cell.headingLabel.text = self.arrData[indexPath.row].heading
cell.subHeadingLabel.text = self.arrData[indexPath.row].subHeading
return cell
}
РЕДАКТИРОВАТЬ 2 Вот как будет выглядеть пользовательский интерфейс ..