代码之家  ›  专栏  ›  技术社区  ›  Khan Luke

addGestureRecognizer函数激发[重复]后addTarget函数未激发

  •  1
  • Khan Luke  · 技术社区  · 7 年前
    \\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)未启动。有什么修复方法吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Khan Luke    7 年前

    轻触手势不适用于 UITextField 您可以使用 textDidBeginEditing . 不过,如果您想要点击效果,可能需要使用一些透明覆盖 UIImageView UIButton 输入框 如果有委托方法,您可能需要考虑实现这些方法。或者只需将操作事件添加到文本字段。

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

    然后执行以下操作:

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

    类似地,您可以放置一个透明按钮,在该按钮的操作中,您可以放置所需的代码,还可以从视图中隐藏该按钮,直到控件从 输入框 .