gpt4 book ai didi

ios - 向 GMSMapView 添加手势识别器以获得 .begin/.ended/.change 手势

转载 作者:搜寻专家 更新时间:2023-11-01 06:50:50 24 4
gpt4 key购买 nike

在 GMSMapView 对象上获取平移手势不会返回任何内容。我不知道这是否行得通。然而,在 didChange 函数上的覆盖委托(delegate)不会做太多,因为我想像在 UIPanGestureRecognizer 上一样获得 .began/.changed/.ended 状态。

在 GMSMapView 对象上添加手势识别器,但它不会返回任何手势状态。

//初始化

let panGesture = UITapGestureRecognizer(target: self, action: #selector(self.handlePan(recognizer:)))

mapView?.addGestureRecognizer(panGesture)
mapView?.isUserInteractionEnabled = true

//函数

@objc func handlePan(recognizer: UIPanGestureRecognizer){
var animator = UIViewPropertyAnimator()

switch recognizer.state {
case .began:
print("began")
case .changed:
print("changed")
case .ended:
print("ended")
default:
print("none")
}
}

最佳答案

你应该将它设置为 false mapView.settings.consumesGesturesInView = false

当此设置为 true(默认情况下)时,所有手势都由 GMSMapView 处理。

您可以将其设置为 false 以自行处理。因为 pan gesture 是默认处理的。

检查文档:Google Maps Documentation

请问您要处理所有手势的目的是什么?

关于ios - 向 GMSMapView 添加手势识别器以获得 .begin/.ended/.change 手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57355214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com