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
。
不过,如果您想要点击效果,您可能需要使用 UIImageView
或 UIButton
来使用一些透明叠加层。
UITextField
有委托方法,您可能需要考虑实施这些方法。或者只是将操作事件添加到您的文本字段。
textField.addTarget(self, action: #selector(self.textDidBeginEditing(sender:)), for: UIControlEvents.editingDidBegin)
然后执行这个:
func textDidBeginEditing(sender:UITextField) -> Void
{
// handle begin editing event
}
类似地,您可以放置一个透明按钮,在该按钮的操作中,您可以放置所需的代码,还可以在视图中隐藏按钮,直到控件从 UITextField
更改。
\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
。
不过,如果您想要点击效果,您可能需要使用 UIImageView
或 UIButton
来使用一些透明叠加层。
UITextField
有委托方法,您可能需要考虑实施这些方法。或者只是将操作事件添加到您的文本字段。
textField.addTarget(self, action: #selector(self.textDidBeginEditing(sender:)), for: UIControlEvents.editingDidBegin)
然后执行这个:
func textDidBeginEditing(sender:UITextField) -> Void
{
// handle begin editing event
}
类似地,您可以放置一个透明按钮,在该按钮的操作中,您可以放置所需的代码,还可以在视图中隐藏按钮,直到控件从 UITextField
更改。