由文本字段触发的键盘环境: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总是被调用。所以没有其他方法可行。 –