我在处理UITextField
和keyboard
知名度方面遇到了一个奇怪的问题。
我当前控制器的目的是让用户编辑一些数据,但也读取其他数据。
因此我决定在其中包含一些文本字段,当用户修改某些数据时,会出现一个按钮,并且可以按下它来发送修改。但要阅读其他数据keyboard
必须隐藏。
我做了一些研究,找到了一种有效的方法:
self.view.endEditing(true)
currentTextField.resignFirstResponder()
becomeFirstResponder
询问这些尝试都没有以键盘隐藏结束,但以Optional value
崩溃
我现在正在使用Swift 3
和XCode 8.2.1
如果有人有线索,请提前致谢
答案 0 :(得分:0)
您的视图控制器需要继承UITextFieldDelegate。实现此协议定义的功能,您应该拥有所需的控件。并且不要忘记设置myTextfield.delegate = self
- 或者任何对象实现协议。
一个例子是“DidEndEditing”和类似的。 如果您已经这样做,请提供一些代码以进一步诊断您的问题。
答案 1 :(得分:0)
感谢您的回答,
我从代码开头实现了UITextFieldDelegate,我的所有TextField
都使用editingDidBegin
和editingDidEnd
,当我从API调用的结果调用下面的代码时发生了崩溃
self.view.endEditing(true)
我刚刚找到了一种在API调用之前使用此代码成功隐藏键盘的方法。令人遗憾的是,这种新方式避免了在呼叫失败时保持键盘可见的可能性。
答案 2 :(得分:0)
<强> self.view.endEditing(真)强>
此行不应该崩溃。它只是从UITextfield辞职响应者。你能告诉我你车祸的细节吗?崩溃发生时在日志控制台中写入的内容。据我所知 self.view.endEditing(true)肯定会满足您的要求。