[英]Swift: UITextField Delegate is never set, or the methods are never called
我正在嘗試實現一個UITextFieldDelegate
,當用戶按下回車鍵時它執行某件事。 但是,盡管我同時從情節提要和viewDidLoad
方法設置了委托,但從未調用委托方法。 這是我的代碼:
/*UITextFieldDelegate*/
@IBOutlet weak var messageTextField: UITextField!
func textFieldDidBeginEditing(textField: UITextField) { //delegate method
}
func textFieldShouldEndEditing(textField: UITextField) -> Bool { //delegate method
return false
}
func textFieldShouldReturn(textField: UITextField) -> Bool { //delegate method
textField.resignFirstResponder()
//check if message isn't empty
if let _ = textField.text?.isEmpty {
} else {
chatMessages.append(ChatMessage(message: (textField.text)!, dateSent: NSDate()))
textField.text = ""
//reload table data
tableView.reloadData()
}
return true
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
messageTextField.delegate = self
}
我想通了...它真的很蠢。
在textFieldShouldEndEditing
只返回true而不是false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.