我无法理解。怎么做,试过这个:
class myViewCell: UITableViewCell, UITextFieldDelegate {
@IBOutlet weak var myEdit: UITextField!
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
// don`t work ((
}
}
class myTableViewControler: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "NamePhoneCell", for: indexPath) as! myViewCell
…
returns cell
}
}
我有个主意 - Delegete。但是,如何,我需要委托-shouldChangeCharactersIn方法,UITableViewCell本身从UITextFieldDelegate委托
答案 0 :(得分:0)
您没有将UITextField委托分配给myViewCell
下一步加入myViewCell
课程:
override func awakeFromNib() {
super.awakeFromNib()
myEdit.delegate = self
}
答案 1 :(得分:0)
您需要为您创建的UITextField设置委托。 myViewCell将实现UITextField的委托功能。
class myViewCell: UITableViewCell, UITextFieldDelegate {
@IBOutlet weak var myEdit: UITextField!
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
// don`t work ((
}
}
override func awakeFromNib() {
super.awakeFromNib()
myEdit.delegate = self
}