键盘完成关键动作swift iOS不起作用

时间:2014-07-16 08:21:07

标签: ios keyboard return swift action

我是stackoverflow的新手,我遇到了新的swift代码问题。 我已经使用" Done"来定制键盘上的返回按钮,但是当我点击它时,不要发生任何事情......我怎样才能隐藏键盘呢? 我添加了一个代码(在本网站上找到),当你点击某个地方而不是键盘时隐藏键盘,但是我无法通过点击"完成"来定制它。按钮......谢谢你!!

3 个答案:

答案 0 :(得分:74)

你需要实现当你点击完成按钮时调用的委托方法:

func textFieldShouldReturn(textField: UITextField!) -> Bool {  
    textField.resignFirstResponder()
    return true
}

您还需要符合UITextFieldDelegate协议:

class MyViewController: UIViewController,UITextFieldDelegate // I assume you override UIview controller class if not add UITextFieldDelegate to your class

最后一件事是将您的类设置为文本字段委托:

textField.delegate = self

答案 1 :(得分:11)

textField.delegate = self

可以替换为 enter image description here

这将在View及其组件之间创建必要的连接,并使textFieldShouldReturn方法按预期工作。

答案 2 :(得分:0)

协议方法具有新的签名(Swift 4.1)。 IE:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    textField.resignFirstResponder()
    return true
}

由于协议方法是可选的,因此使用错误的签名将无提示地失败。

相关问题