如何在Swift中长按?

时间:2014-07-10 16:03:43

标签: swift

我试图在Swift中的mapView上实现长按(以实现this

我没有得到任何编译器错误但是当我在模拟器中执行longpress时,应用程序崩溃了"无法识别的选择器发送到实例"

我怀疑它与选择器有关(类似于this),但我尝试过的每种组合都失败了

我在viewDidLoad中有这个:

var lpgr = UILongPressGestureRecognizer(target: self, action: "action") 

lpgr.minimumPressDuration = 2.0; 

mapView.addGestureRecognizer(lpgr)

这在ViewController类中:

func action(gestureRecognizer:UIGestureRecognizer) { 

println("long press") 

}

1 个答案:

答案 0 :(得分:16)

方法的方法签名:

func action(gestureRecognizer:UIGestureRecognizer) { }

需要在其参数中包含冒号。你应该使用它。

var lpgr = UILongPressGestureRecognizer(target: self, action: "action:")