두 개의 텍스트 필드와 1 개의 레이블이있는 셀을 가진 UITableView가 있다고 가정 해 보겠습니다. 레이블은 텍스트 필드의 숫자의 합계를 표시하므로 사용자가 textField를 편집 할 때마다 레이블이 업데이트됩니다. 내가 직면 한 문제는 사용자가 textField에 입력 할 때마다 tableView.reloadData() 함수를 호출하여 최신 합계로 레이블을 업데이트하고 이로 인해 textField를 종료하고 키보드가 숨겨지는 것입니다. 내가 원하는 건 열린 키보드로 라벨을 갱신하는 거지. 이것을 어떻게 할 수 있습니까? 다음은 샘플 코드입니다.업데이트 UITextview 텍스트가있는 UITableview 셀
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomCell
cell.textField1.tag = indexPath.row
cell.textField2.tag = indexPath.row
cell.textField1.addTarget(self, action: #selector(textField1Edited), for: .editingChanged)
cell.textField2.addTarget(self, action: #selector(textField2Edited), for: .editingChanged)
cell.sumLabel.text = "\(textField1Values[indexPath.row]+textField2Values[indexPath.row])"
return cell
}
@objc func textField1Edited(sender: UITextField!) {
textField1Values[sender.tag] = sender.text
self.tableView.reloadData()
}
@objc func textField2Edited(sender: UITextField!) {
textField2Values[sender.tag] = sender.text
self.tableView.reloadData()
}
미리 감사드립니다.
당신이 몇 가지 데모 코드를 공유하시기 바랍니다 수 있습니다 EDIT
: 입력 할 때 레이블을 업데이트 할 대리자를 사용하는 HWO 여기 놀이터가 게재되고? 매우 도움이 될 것입니다 –
@ danishnaeem, 코드를 게시 할 수 있습니까, 나는 그것을 수정할 수 있으며 제공 할 수 있습니다. jzk – ahmed
코드로 업데이트 된 답변보기. –