在swift中实现手势识别器后,如何查找按钮标签?

在swift中实现手势识别器后,如何查找按钮标签?,swift,uigesturerecognizer,uicontrolevents,Swift,Uigesturerecognizer,Uicontrolevents,当有人在按钮内滑动时,我想做一次动作 我目前的代码如下: let recogniser = UISwipeGestureRecognizer(target: self, action: "didTapButton2:") recogniser.direction = .Up button.addGestureRecognizer(recogniser) func didTapButton2(sender: UIGestureRecognizer!) {

当有人在按钮内滑动时,我想做一次动作

我目前的代码如下:

    let recogniser = UISwipeGestureRecognizer(target: self, action: "didTapButton2:")
    recogniser.direction = .Up
    button.addGestureRecognizer(recogniser)

    func didTapButton2(sender: UIGestureRecognizer!) {

    //Here I want to be able to recognise which button this was sent from (they are all tagged)
    let button = sender. as UIButton //Gives an error
我需要使用手势识别器而不是uicontrol事件,因为我需要事件只触发一次。使用此选项可使事件发生多次火灾-只需进行一次:

    button.addTarget(self, action: "didTapButton2:", forControlEvents: .TouchDragInside)

有人有解决办法吗?谢谢

一个
UIgestureRecognitor
有一个名为
view
的属性,该属性是它所附加到的视图。视图声明为可选视图,因此您需要将其展开:

if let button = sender.view as? UIButton {
    // use button
    if button.tag == 10 {
        // handle button tagged with 10
    }
}