ios - 从对象库实现长按手势没有响应 - swift 3

标签 ios swift google-maps uigesturerecognizer ibaction

我有一个谷歌地图,我希望它能够识别标记上的长按手势。同时,我只想映射以响应长按手势。我想我已经按照步骤正确实现了它,但似乎没有得到长按的响应,并且不确定为什么 - 可能是因为我正在模拟器上测试它无法将点击识别为长按?无论如何,这是我在下面使用的方法,所以如果有人可以看到我是否遗漏了任何内容,请告诉我。

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/

相关文章:

ios - MPMoviePlayerViewController 没有从 url 播放视频

swift - Swift 5 中的 THE.self 是什么?

dictionary - 带有字典的 iOS 8.1 上的 EXC_BAD_ACCESS

flutter 谷歌地方 : Unhandled Exception: Null check operator used on a null value

java - 如何通过Android谷歌地图上的触摸屏获取地址信息

ios - NSTimer retainCount 在无效后不为零

ios - 在 iOS 设备上读取 csv 文件时出错

iOS Facebook SDK - 获取用户位置

swift - 如何将删除键添加到 NSCharacterSet

javascript - 突出显示构建谷歌地图 v3