在 Swift 中首次点击时不显示 UITextField 的键盘

The keyboard for the UITextField does not appear on first tap in Swift

我创建了一个改变 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)

}

你不觉得是你自己在取消键盘显示吗textfield1.endEditing(true)?

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

并删除这行代码:

self.textfield1.endEditing(true)