Ios 由UITapGestureRecognizer创建的单个点击不';不要在UIButton上工作

Ios 由UITapGestureRecognizer创建的单个点击不';不要在UIButton上工作,ios,swift,uibutton,uigesturerecognizer,gesture,Ios,Swift,Uibutton,Uigesturerecognizer,Gesture,我有很多没有任何密码的UIButton。我想在tap处理函数中调用一些操作。我使用UITapgestureRecognitor创建单点击。当我点击不在UIButton上时,单点击处理程序工作。当我点击我的UIButton时,我看到按下这个按钮的动画,但单点击处理程序不起作用。我还创建了双击,效果很好 问题№1 我能用一个水龙头做什么?当我点击我的按钮时,处理器应该工作 问题№2 如何在tap处理程序中获取UIButton?我需要从这个按钮获取文本标签 我的部分代码: override func

我有很多没有任何密码的UIButton。我想在tap处理函数中调用一些操作。我使用UITapgestureRecognitor创建单点击。当我点击不在UIButton上时,单点击处理程序工作。当我点击我的UIButton时,我看到按下这个按钮的动画,但单点击处理程序不起作用。我还创建了双击,效果很好

问题№1
我能用一个水龙头做什么?当我点击我的按钮时,处理器应该工作

问题№2
如何在tap处理程序中获取UIButton?我需要从这个按钮获取文本标签

我的部分代码:

override func viewDidLoad() {
    ...

    let singleTap = UITapGestureRecognizer(target: self, action: "singleTap:")
    singleTap.numberOfTapsRequired = 1
    singleTap.numberOfTouchesRequired = 1
    view.addGestureRecognizer(singleTap)

    let doubleTap = UITapGestureRecognizer(target: self, action: "doubleTap:")
    doubleTap.numberOfTapsRequired = 2
    doubleTap.numberOfTouchesRequired = 1
    view.addGestureRecognizer(doubleTap)
    singleTap.requireGestureRecognizerToFail(doubleTap)

    ...
}

func doubleTap(sender: UIGestureRecognizer) {
    if sender.state == .Ended {
        print("doubleTap")
    }
}

func singleTap(sender: UIGestureRecognizer) {
    if sender.state == .Ended {
        print("singleTap")
    }
}

func addButton(time:String, x:CGFloat, y:CGFloat, width:CGFloat, height:CGFloat, tag: Int) -> UIButton {
    let button = UIButton(type: UIButtonType.System) as UIButton
    button.frame = CGRectMake(x, y, width, height)
    button.setTitle(time, forState: UIControlState.Normal)
    button.tag = tag
    self.scrollView.addSubview(button)
    return button
}

如果要在按钮中添加点击手势,请按以下方式操作:

let singleTap = UITapGestureRecognizer(target: self, action: "singleTap:")
singleTap.numberOfTapsRequired = 1
singleTap.numberOfTouchesRequired = 1
yourButton.addGestureRecognizer(singleTap)

为什么不为按钮使用iAction?
视图。AddGestureRecognitizer(singleTap)
建议在视图上应用singleTap,而不是在
按钮上应用singleTap
禁用每个UIButton的用户交互,或为所有按钮添加处理程序。@IOSDeveloper-右键也添加
按钮。启用=否
,首先全局定义
按钮
。虽然这可能会有帮助:非常感谢。我认为UITapGestureRecognitor只对视图有效。要获取文本标签,我在处理程序中使用这部分代码:
(sender.view as!UIButton)。titleLabel!。短信