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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了键盘完成关键动作swift iOS不起作用相关的知识,希望对你有一定的参考价值。

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

答案

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

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
另一答案
textField.delegate = self

可以替换为

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

另一答案

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

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

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

以上是关于键盘完成关键动作swift iOS不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Swift:通过 NSNotificationCenter 的键盘观察器不起作用

为啥软键盘在对话框片段内的 Web 视图中不起作用?

socket.io swift 在真实设备上不起作用

Swift 中的延迟/睡眠不起作用

iOS 8自定义键盘的高度限制根本不起作用

Swift,带有完成处理程序的网络调用不起作用