Sagen wir, ich habe eine UITableView mit einer Zelle mit zwei Textfelder und 1 Label. Da die Beschriftung die Summe der Textfeldnummern anzeigt, wird die Beschriftung aktualisiert, wenn der Benutzer textField bearbeitet. Das Problem, dem ich gegenüberstehe, ist, wann immer der Benutzer in textField tippt, habe ich die Funktion tableView.LoadData() aufgerufen, um das Etikett mit der neuesten Summe zu aktualisieren, was dazu führt, dass textField und keyboard ausgeblendet werden. Ich möchte Etikett mit offener Tastatur aktualisieren. Wie kann ich das erreichen? Folgendes ist der Beispielcode.Update UITableview Zelle mit UITextfield Text ändern
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()
}
Vielen Dank im Voraus.
können Sie bitte einige Demo-Code teilen? es wäre sehr hilfreich –
@danishnaeem, können Sie Ihren Code veröffentlichen, ich kann das ändern und bieten. jzk – ahmed
Siehe aktualisierte Antwort mit Code. –