UITextField 的键盘不会出现在 Swift 中的第一次点击时

Posted

技术标签:

【中文标题】UITextField 的键盘不会出现在 Swift 中的第一次点击时【英文标题】:The keyboard for the UITextField does not appear on first tap in Swift 【发布时间】:2016-07-17 08:26:59 【问题描述】:

我创建了一个更改UITextField 颜色的动作。但是当我点击文本字段时,它会改变颜色,但键盘不会出现。键盘仅在第二次点击时出现。这是急救人员的问题吗?我是 Swift 编程的新手。

required init?(coder aDecoder: NSCoder) 
    super.init(coder: aDecoder)
    textfield1.addTarget(
        self,
        action: #selector(textfield1.handleFrontTap(_:)),
        forControlEvents: UIControlEvents.EditingDidBegin
    )


func handleFrontTap(sender: UITextField) -> Void 
    print("tap working")
    setColor()
    self.textfield1.endEditing(true)


【问题讨论】:

你不认为是你的 self.textfield1.endEditing(true) 取消了键盘显示吗? 知道了!那是我的愚蠢。非常感谢:) 我会发布这个作为答案然后 【参考方案1】:

尝试将控制事件从EditingDidBegin更改为TouchUpInside

并删除这行代码:

self.textfield1.endEditing(true)

【讨论】:

【参考方案2】:

你不认为取消键盘显示的是你的 self.textfield1.endEditing(true) 吗?

【讨论】:

以上是关于UITextField 的键盘不会出现在 Swift 中的第一次点击时的主要内容,如果未能解决你的问题,请参考以下文章

ios中,如何设置clearbutton,且保证虚拟键盘不会一直弹出来

当键盘出现在 Swift 中时 UITextField 向上移动

UITextField的键盘不会被忽略。不完全是

键盘出现时UITextField上移【Swift】

当点击另一个 UITextField 时键盘不会关闭,这会带来一个选择器

屏幕底部出现一个弹出键盘,我希望出现一个与每种类型的 UITextfield 相关的键盘