tableview.reload()后,TextField数据消失?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (140)

我有一个表视图,在单元格中有一个文本字段(以编程方式添加)。我正在使用editActionsForRowAt方法插入和删除单元格,但每次插入/删除时,我之前输入的文本字段数据都会消失。我认为因为tableview.reload方法。你能建议吗?

非常感谢!

 func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
    let myAction = UITableViewRowAction(style: .normal, title: "INSERT") { (action, indexPath) in

        print("I'm here")

      self.data[indexPath.section].subType.insert("Set", at: indexPath.item)
     //   self.data[indexPath.section].subType.insert("Set", at: indexPath.section)
        print("inserttt")
        self.tblView.reloadData();

    }

    let delete = UITableViewRowAction(style: .destructive, title: "Delete") { (action, indexPath) in
       // if editingStyle == .delete{
            print("delete")

            self.data[indexPath.section].subType.remove(at: indexPath.row)
            self.tblView.reloadData()

       // }
    }

  //  tableView.keyboardDismissMode = .onDrag
    return [myAction,delete]
}






    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cells")
  //  cell?.textLabel?.text = data[indexPath.section].subType[indexPath.row]
    cell?.textLabel?.text = data[indexPath.section].headerName



    var sampleTextField =  UITextField(frame: CGRect(x: 180, y: 10, width: 60, height: 40))
    sampleTextField.borderStyle = UITextBorderStyle.roundedRect
    sampleTextField.backgroundColor = #colorLiteral(red: 0.9027962089, green: 0.781386435, blue: 0.9435198903, alpha: 1)
    sampleTextField.tag=indexPath.item
    //use this if you want to clear test when you edit again
  //  sampleTextField.clearsOnBeginEditing = true
    sampleTextField.placeholder=data[indexPath.section].headerName
    headerSection=data[indexPath.section].headerName!
    cell?.addSubview(sampleTextField)

    sampleTextField.addTarget(self, action: #selector(UITextFieldDelegate.textFieldDidEndEditing(_:)), for: UIControlEvents.editingDidEnd)





    return cell!
}
提问于
用户回答回答于

跟踪所需的文本,并在cellForRowAt中将其添加到文本字段中。

所属标签

可能回答问题的人

  • 不吃貓的鱼oo

    5 粉丝466 提问6 回答
  • Richel

    8 粉丝0 提问4 回答
  • 发条丶魔灵1

    6 粉丝525 提问3 回答
  • 人生的旅途

    10 粉丝484 提问3 回答

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励