如何检测iOS上AnnotationView的长压?

时间:2015-07-18 08:48:39

标签: ios swift uigesturerecognizer

我希望在我长按其中一个后,通过摇晃它们来重现iOS仪表板对我的地图注释的影响。然而,我一直在检测用户何时长按一个。这是代码:

override init(annotation:MKAnnotation, reuseIdentifier identifier:String) {
    bookingImageView = UIImageView(image: self.bookingImage)
    ...
    let lpgr = UILongPressGestureRecognizer(target: self, action: Selector("handleLongPressure:"))
    lpgr.minimumPressDuration = 2.0;  //user must press for 2 seconds
    bookingImageView.addGestureRecognizer(lpgr)
}

func handleLongPressure(notification: NSNotification){
    wobble()
}

如果我将手势与注释或其subview(bookingImageView)相关联,它就不起作用。

2 个答案:

答案 0 :(得分:0)

您需要设置用户互动

bookingImageView.userInteractionEnabled = true

答案 1 :(得分:0)

我找到的唯一解决方案是连接到拖动操作,以某种方式预先假定长时间接触。