Skobbler SKMapView和UIPanGestureRecognizer

时间:2014-11-03 19:52:58

标签: ios objective-c cocoa-touch swift skmaps

我对Skobbler MapView和UIPanGestureRecognizer有疑问。似乎UIPanGestureRecognizer拦截了来自SKMapView的所有平移事件,并阻止了移动地图位置。

您可以在下面看到代码示例,我的应用程序与UIPanGestureRecognizer位于上述父级视图2级别之间的唯一区别。

import UIKit

class IPSkobblerViewController : UIViewController {

    var mapView : SKMapView!;

    override func viewDidLoad() {
        mapView = SKMapView();
        mapView.exclusiveTouch = true;
        self.view.addSubview(mapView);

        let gestureRecogniser = UIPanGestureRecognizer(target: self, action: "panGesture");
        self.view.addGestureRecognizer(gestureRecogniser);

    }

    func panGesture() {
        NSLog("Pan Gesture");
    }

}

2 个答案:

答案 0 :(得分:1)

首先要做的是将识别器的cancelsTouchesInView设置为false

gestureRecogniser.cancelsTouchesInView = false 

这将使手势识别器能够允许其附加的视图,以接收触摸事件。如果该视图不是地图视图,则必须将触摸事件转发给它。

答案 1 :(得分:1)

将在3.0.2版本中修复。