ios - 单击文本字段时隐藏键盘

标签 ios swift uitextfield uikeyboard

每次用户单击名为 typeDeProbleme 的文本字段时,我都想隐藏键盘。所以,我做了类似下面的事情(在 if 条件下),根据我的理解,它应该有效但不幸的是它没有。每次单击 typeDeProbleme 时,键盘都会卡住并且无法隐藏,除非我单击另一个 textField。供您引用,typeDeProbleme 是一个链接到 PickerView 的文本字段。我还在键盘顶部附加了一个工具栏,它有一个按钮 X 来隐藏键盘。谁能向我解释问题出在哪里?

enter image description here

func textFieldDidBeginEditing(_ textField: UITextField) {
    textField.returnKeyType = .next

    if textField == self.typeDeProbleme {
        textField.endEditing(true)// hide keyboard
        textField.resignFirstResponder() //hide keyboard
        self.pbTypePickerV.isHidden = false
    }else{
        keyboardDidShow(vvv: textField)
    }
}

最佳答案

使用此方法代替 textFieldDidBeginEditing

    func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
    if textField == typeDeProbleme {
        self.view.endEditing(true)
        return false
    }
    return true
}

关于ios - 单击文本字段时隐藏键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46545722/

相关文章:

ios - 在自定义 UITextField 上关闭键盘

ios - 如何限制 iOS 中的前缀文本字段字符串?

ios - View Controller 中的两个 TextField 设置为委托(delegate),导致应用程序因 NSRange、范围或索引超出范围而崩溃

objective-c - 如何区分 iOS5 上的屏幕锁定和主页按钮按下?

ios - 线程安全队列

ios - 在模拟器上卸载应用程序后未清除 NSUserDefaults

ios - 快速更改 uitextfield 的底线边框

ios - 如何关闭以前的 AVPlayer 和 AVPlayerItem

ios - 无法调试 - 变量值未显示

ios - 如何使用 Swift 制作 pod