我有一个谷歌地图,我希望它能够识别标记上的长按手势。同时,我只想映射以响应长按手势。我想我已经按照步骤正确实现了它,但似乎没有得到长按的响应,并且不确定为什么 - 可能是因为我正在模拟器上测试它无法将点击识别为长按?无论如何,这是我在下面使用的方法,所以如果有人可以看到我是否遗漏了任何内容,请告诉我。
1.) 将长按手势识别器从对象库拖到主 Storyboard 中的 map View 中。
2.) 这会将gestureRecognizers --> 将 View 映射到我的引用 socket 连接中
3.) 将最短持续时间设置为 0.5 秒,并将触摸和点击识别器启用为 1。
4.)在包含我的mapView的 View Controller 中输入:
@IBAction func handleLongtap(recognizer: UILongPressGestureRecognizer) {
print("PRESSED")
}
5.) 然后回到主 Storyboard,将长按手势识别器拖动到 View Controller 并选择“handleLongtap:”,将“handleLongTap --> longPressGesture”放入我的 View Controller “收到的操作”
尽管没有错误 - 当我长按模拟器时,我的终端中没有出现“PRESSED”。知道出了什么问题吗?
最佳答案
您可以尝试在代码中添加手势识别器:
let longPress = UILongPressGestureRecognizer()
longPress.addTarget(self, action: ViewController.handleTap)
yourPin.addGestureRecognizer(longPress)
func handleTap() {
print("Tapped")
}
然后根据需要进行调整。
关于ios - 从对象库实现长按手势没有响应 - swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41493376/