Swift转发手势到第三方库

时间:2018-06-10 14:56:02

标签: ios swift google-maps uigesturerecognizer google-maps-sdk-ios

如上图所示:Picture我在后台有 GoogleMaps视图,前景中有黄色视图。我需要在黄色视图上使用捕捉轻击手势,并将所有其他手势(主要是捏合)转发到GoogleMaps视图。

我尝试将黄色视图添加为子视图 - GoogleMaps视图的子视图(我在此处找到了此建议:https://stackoverflow.com/a/10594097/8851253):

class ViewController: UIViewController {
    @IBOutlet weak var mapView: GMSMapView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let uiView = UIView(frame: CGRect(x: 100, y: 100, width: 150, height: 200))
        uiView.backgroundColor = UIColor.yellow

        // gesture recognizer
        let clickUITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.clickAction(_:)))
        uiView.addGestureRecognizer(clickUITapGestureRecognizer)

        self.mapView.addSubview(uiView)
    }

    @IBAction func clickAction(_ sender: Any) {
        print ("tap")
    }
}

如果它是普通视图,它将完美地工作,但由于它是GMSMapView类,因此出现了错误并且未调用“clickAction”。

(GMSMapView已分配给界面构建器中的视图)

以下是项目:https://gitlab.com/Cerny/googleMapsForwarding

请知道如何解决它?

0 个答案:

没有答案