2016-03-22 25 views
2

を呼び出すことはありませんUIPanGestureRecognizerは私<code>mapView</code>に<code>UIPanGestureRecognizer</code>を追加しようとしているが、私は<strong>アクションメソッドが</strong>(スウィフト2.1)と呼ばれることはありませんしない理由。アクションメソッド

import UIKit 
import MapKit 

class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate, UIGestureRecognizerDelegate 
{ 
    override func viewDidLoad() 
    { 
     super.viewDidLoad() 

     // other stuff... 

     let gestureRecognizer = UIPanGestureRecognizer(target: self, action: "didDragMap:") 
     gestureRecognizer.delegate = self 
     self.mapView.addGestureRecognizer(gestureRecognizer) 
    } 

    func didDragMap(sender: UIPanGestureRecognizer) 
    { 
     // never enter here 
    } 
} 

ここで何が間違っていますか?私は同じObjective-Cに対応し、それは仕事です。

+0

'mapView.gestureRecognizers'印刷してみます - すでに接続おそらく別の鍋認識がありますか?マップビューの上に透明なビューを置き、それにパンレコグナイザを付けることもできます。 – nielsbot

答えて

2

MKMapViewはすでに自身のジェスチャを処理しているので、ジェスチャを聴くことができるようにする必要があります。

shouldRecognizeSimultaneouslyWithGestureRecognizerを実装し、そのように真を返す:

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool { 
    return true 
} 

Source

+0

ありがとうございます!! :D –

関連する問題

 関連する問題