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

问题描述 投票:23回答:3

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

ios keyboard return swift action
3个回答
75
投票

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

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

11
投票
textField.delegate = self

可以替换为

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


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.