2016-03-22 18 views
2

hiç aramıyorsun.UIPanGestureRecognizer Ben <code>UIPanGestureRecognizer</code> benim <code>mapView</code> eklemek çalışıyorum ama <strong>eylem yöntemi (Swift 2.1)</strong> asla denir neden bilmiyorum eylem yöntemini

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 
    } 
} 

Burada sorun ne var? Aynı Objective-C'ye karşılık geliyor ve işe yarıyor.

+0

'mapView.gestureRecognizers' yazdırmayı deneyin - zaten ekli belki başka tava tanıyıcı var? Harita görünümünüzün üzerine şeffaf bir görünüm koyup buna bir pan tanıyıcı yerleştirmeyi deneyebilirsiniz. – nielsbot

cevap

2

Bir MKMapView halihazırda kendi hareketlerini ele aldığından, hareketlerinizi de dinlemeniz için onu etkinleştirmeniz gerekir.

shouldRecognizeSimultaneouslyWithGestureRecognizer uygulayın ve şöyle return true:

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

Source

+0

Teşekkürler! : D –

İlgili konular