addTarget 函数在 addGestureRecognizer 函数触发后未触发

addTarget function not firing after addGestureRecognizer function fires

\Action 1
textfield.addTarget(self, action: #selector(self.didChangeText(textField:)), for: .editingChanged)
textfield.tag = self.numarr

\Action 2
let tap = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
textfield.addGestureRecognizer(tap)
textfield.isUserInteractionEnabled = true

两个函数都会触发,但会单独触发。当手势功能一起触发时,第二个(addTarget)不会触发。任何修复?

点击手势不适合 UITextField 您可以使用 textDidBeginEditing。 不过,如果您想要点击效果,您可能需要使用 UIImageViewUIButton 来使用一些透明叠加层。 UITextField 有委托方法,您可能需要考虑实施这些方法。或者只是将操作事件添加到您的文本字段。

textField.addTarget(self, action: #selector(self.textDidBeginEditing(sender:)), for: UIControlEvents.editingDidBegin)

然后执行这个:

func textDidBeginEditing(sender:UITextField) -> Void
{
   // handle begin editing event
} 

类似地,您可以放置​​一个透明按钮,在该按钮的操作中,您可以放置​​所需的代码,还可以在视图中隐藏按钮,直到控件从 UITextField 更改。