由文本字段觸發的鍵盤環境:Xcode的版本8.2(8C38)/夫特3.0隱藏經由resignFirstResponder
甲在視圖textFiled目的是導線高達在經由IBAction爲控制器命名textFieldReturn方法。相關的代碼顯示爲遵循
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func textFieldReturn(_ sender: Any) {
_ = (sender as AnyObject).resignFirstResponder()
}
}
我期待什麼:
當我打了虛擬鍵盤的返回鍵的功能textFieldReturn(_ :)將被調用,鍵盤會隱藏
問題觀察家:
函數沒有被稱爲AF之三我拍了拍返回鍵,鍵盤仍然存在
資源:
此代碼尖晶石,通過尼爾來自書的iOS 10應用開發綱要的第16章的例子Symth (PP-114)
此代碼與原始的代碼之間唯一的區別是該函數的參數(發送者)的類型。這是AnyObject在原來的書,而我有任何默認情況下,所以我投來AnyObject的函數體問題內
:
它似乎是一個體面的書,但樣本代碼不爲我工作。我怎樣才能調用resignFirstResponder()方法時,我打回車鍵
另類嘗試:
而不是使用IBAction爲的,我轉委託的想法,我「VE設定VeiwController作爲文本字段的代表
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var tempText: UITextField! //reference the TextField as the variable **tempText** in the controller
override func viewDidLoad() {
super.viewDidLoad()
self.tempText.delegate = self //set up the delegation
}
func textFieldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return(true)
}
}
問題
替代解決方案仍然無法正常工作。
感謝您的時間和幫助
因此,有一個原來的委託功能,感謝這麼多,我不知道有一個默認的功能爲此,非常感謝。 – SLN
但是爲什麼使用IBAction方式的第一個不工作? – SLN
每當按下鍵盤的返回鍵時,函數textFieldShouldReturn總是被調用。所以沒有其他方法可行。 –