Изображение, которое вы разместили, показывает, что табличное представление в этом случае пойдет на пользу.
Если это так, используйте методы tableView tableView: didSelectItemAt indexPath:
& tableView tableView: didDeselectItemAt indexPath:
.
func tableView(_ tableView: UITableView, didSelectItemAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as! <#UITableViewCellClass#>
cell.rImageBtn.setImage(<#selected image#>, for: .normal)
}
func tableView(_ tableView: UITableView, didDeselectItemAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as! <#UITableViewCellClass#>
cell.rImageBtn.setImage(<#unselected image#>, for: .normal)
}
И если изображения представляют собой отдельные объекты в UIView, то:
@IBOutlet weak var rImageBtn1: UIButton!
@IBOutlet weak var rImageBtn2: UIButton!
@IBOutlet weak var rImageBtn3: UIButton!
@objc func button1Tapped() {
rImageBtn1.setImage(<#selected image#>, for: .normal)
rImageBtn2.setImage(<#unselected image#>, for: .normal)
rImageBtn3.setImage(<#unselected image#>, for: .normal)
}
@objc func button2Tapped() {
rImageBtn1.setImage(<#unselected image#>, for: .normal)
rImageBtn2.setImage(<#selected image#>, for: .normal)
rImageBtn3.setImage(<#unselected image#>, for: .normal)
}
@objc func button3Tapped() {
rImageBtn1.setImage(<#unselected image#>, for: .normal)
rImageBtn2.setImage(<#unselected image#>, for: .normal)
rImageBtn3.setImage(<#selected image#>, for: .normal)
}
Надеюсь, это решит вашу проблему.