(到目前为止)我有两个视图控制器,它们都至少有一个文本字段。
当用户点击文本字段时,键盘会弹出。
我已经准备好所有代码来移动内容,然后在发生这种情况时再次向下移动(所有内容都在滚动视图中,我认为这是最佳做法)
当用户点击文本字段之外时,我还有代码来解除键盘。
在第一个视图控制器上,它工作得很好,但在第二个我有一个UIPickerView,占用了文本字段下方的大量空间。那么当用户去拍摄最明显的空间时,他/她实际上是在点击滚动视图并且没有任何反应。但是,如果用户点击一个空的非常小的区域而不是滚动视图键盘解除。
如何解决使用UIPickerView的键盘问题? 这是我的情况看起来像的图像
以下是一些代码
func textFieldShouldClear(_ textField: UITextField) -> Bool {
self.view.endEditing(true)
return false
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.view.endEditing(true)
return false
}
func dismissKeyboard() {
view.endEditing(true)
}
答案 0 :(得分:1)
你必须resignFirstResponder。
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
self.view.endEditing(true)
textField.resignFirstResponder()
return false
}
答案 1 :(得分:1)
当键盘显示(或userInteractionEnabled
成为第一响应者)时,您可以在picker
上停用textField
,并在键盘解除时启用它(或textField
辞职第一响应者)。