1

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");
    }

}
4

2 に答える 2

1

最初に行うことは、レコグナイザーの cancelsTouchesInView を false に設定することです

gestureRecogniser.cancelsTouchesInView = false 

これにより、ジェスチャ レコグナイザが接続先のビューでタッチ イベントを受信できるようになります。そのビューがマップ ビューでない場合は、タッチ イベントをマップ ビューに転送する必要があります。

于 2014-11-05T12:44:28.793 に答える
1

これは 3.0.2 リリースで修正される予定です。

于 2016-10-05T11:23:43.267 に答える