UITapGestureRecognizer与目标的配合使用 - Swift

21
我尝试创建一个简单的轻拍手势,但是无法弄清楚。我想将一个目标和简单选择器添加到手势中。
这是我的代码:

我尝试创建一个简单的轻拍手势,但是无法弄清楚。我想将一个目标和简单选择器添加到手势中。

这是我的代码:

var panGesture : UIGestureRecognizer = UITapGestureRecognizer.addTarget(<#UIGestureRecognizer#>)

我该如何设置选择器?

2个回答

48

应该看起来像这样:

var tapGesture = UITapGestureRecognizer(target: self, action: "SomeMethod")
self.view.addGestureRecognizer(tapGesture)

1
只是想说,将“TapGesture”命名为“panGesture”是不好的形式(我知道你是在复制OP)。 - David Berry
哈哈,我改了它,一开始我把整个东西都写成了一个平移手势,后来意识到问题是关于轻拍的,而我忘记改变变量名了。 - Kris Gellci
你是不是应该导入除了UIKit以外的东西?我无法让它工作! - Chet
5
tapGesture使用let关键字比使用var关键字更合适。 - abanet
如果将轻拍手势添加到 UIImageView 上,请确保已设置 userInteractionEnabled = true - shehanrg
1
从Swift 3开始,这不再适用。请参见@Alvin George的下面答案:let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.tap(gesture:))) 这是我让它工作的方法。 - Devbot10

10

Swift 3:

添加点击手势目标:

sampleTapGesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.sampleTapGestureTapped(recognizer:)))
self.view.addGestureRecognizer(sampleTapGesture!)

相关函数:

func sampleTapGestureTapped(recognizer: UITapGestureRecognizer) {
        print("Tapping working")
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接