세포의 버튼에 문제가 있습니다. 내 tableView에서 각 행은 이미지, 일부 레이블 및 버튼으로 구성됩니다. 버튼에 확인 표시가 있습니다. 클릭하면 버튼의 이미지가 변경됩니다. 문제는 다른 단추의 이미지가 이유없이 변경된다는 것입니다. 이 실수는 셀이 다시 사용되기 때문에 발생합니다.세포 재사용이 잘되지 않습니다 - TableView
TableViewCell에서 prepareForReuse
메서드를 사용하려고했지만 아무 일도 발생하지 않았습니다. 나는 또한 selectedRowAt
으로 시도했지만 어떤 결과도 없었습니다. 도와주세요.
이미지 1 :
이미지 2 :
이 내 custom Cell:
override func prepareForReuse() {
if checkStr == "uncheck"{
self.checkBook.setImage(uncheck, for: .normal)
} else if checkStr == "check"{
self.checkBook.setImage(check, for: .normal)
}
}
func isPressed(){
let uncheck = UIImage(named:"uncheck")
let check = UIImage(named: "check")
if self.checkBook.currentImage == uncheck{
checkStr == "check"
} else self.checkBook.currentImage == check{
checkStr == "uncheck"
}
}
내 FUNC입니다 내
tableView
에서
:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let selectedCell: ListPropertyUserCell = tableView.cellForRow(at: indexPath) as! ListPropertyUserCell
let uncheck = UIImage(named:"uncheck")
let check = UIImage(named: "check")
if selectedCell.checkBook.imageView?.image == uncheck{
selectedCell.checkStr = "check"
} else if selectedCell.checkBook.imageView?.image == check{
selectedCell.checkStr = "uncheck"
}
}
셀 자체가 아닌 테이블보기 컨트롤러에서 셀 선택 상태를 추적해야합니다. 여기에서 답변 중 하나를 사용할 수 있습니다. http://stackoverflow.com/questions/28659845/swift-how-to-get-the-indexpath-row-when-a-button-in-a-cell-is-tapped/38941510 # 38941510 광산 또는 Jacob King 님이 테이블보기 컨트롤러 – Paulw11
에 다시 탭 이벤트를 가져 오기 위해 @Carlo가 문제를 해결할 것입니다. –