我的UItable中的一个单元格中有一个UItextfield,我想从文本字段返回后可以执行几个步骤:
但到目前为止我只能执行其中的一些,因为第3点在TableViewCell类中,但第4点在TableViewController中。 我试图让UItextField出口到这两个类,但它不起作用 Text_NewName.delegate = self 或者我应该访问UITableViewCell类中的[String]?但是当我试图将它作为子类时,swift提示错误'来自类的多重继承'
我相信我的知识肯定存在一些差距,使这些功能变得困难,请让我知道是否有一种更简单的方法让它起作用。
以下是代码:
class Namelist_ADDName_TVCell: UITableViewCell, UITextFieldDelegate {
override func awakeFromNib() {
super.awakeFromNib()
Text_NewName.delegate = self
}
@IBOutlet weak var Text_NewName: UITextField!
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.text = textField.text?.trimmingCharacters(in: .whitespaces)
textField.resignFirstResponder()
if textField.text != "" {
self.isSelected = true
return true
} else {
self.isSelected = false
return false
}
}
另一个快速文件:
class PickNameTVC: UITableViewController, UITextFieldDelegate {
var selectedlist : [String]?
func textFieldShouldReturn(_ theTextfield: UITextField) -> Bool {
if theTextfield.text != "" {
selectedlist?.append(theTextfield.text!)
}
return true
}
}
答案 0 :(得分:6)
管理PickNameTVC
上的所有内容。
创建单元格时设置delegate
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
方法将您的委托设置为cell.textField.delegate = self
(其中cell
是您在该方法中出列的单元格。)