2011-02-15 13 views
35

जब उपयोगकर्ता मानचित्र दृश्य के साथ चलता है तो मैं कुछ तर्क जोड़ना चाहता हूं i। ई। वह एक पैन टच करता है। लेकिन जब मैं इशारा पहचानकर्ता जोड़ता हूं और मैं स्पर्श को लॉग करना चाहता हूं, कुछ भी नहीं होता है। जब मैं इसे किसी अन्य व्यू कंट्रोलर में आज़माता हूं और नियंत्रक के दृश्य में पहचानकर्ता जोड़ता हूं तो यह ठीक काम करता है।MKMapView पर UIPanGestureRecognizer?

यहाँ मेरी कोड (मानचित्र दृश्य आवेदन प्रतिनिधि की एक संपत्ति है क्योंकि मैं भले ही यह दिखाई नहीं देता है इसके साथ कुछ अन्य बातों के सब करने की ज़रूरत है):

- (void)viewDidLoad 
{ 
    ... 
    UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(showPan)]; 
    [appDelegate.mapView addGestureRecognizer:panGesture]; 
    [panGesture release]; 
} 

- (void)showPan 
{ 
    NSLog(@"pan!"); 
} 

मैं नवीनतम iOS का उपयोग 4.2.1

किसी भी सलाह के लिए धन्यवाद।

उत्तर

128

ठीक है, क्योंकि कोई भी नहीं जानता था, मुझे इसके लिए एक ऐप्पल तकनीकी सहायता परामर्श देना पड़ा। ; ओ)

क्योंकि MKMapView जाहिर उपयोगकर्ता के साथ बातचीत करने के लिए अपने स्वयं के recognizers है, तो आपको UIGestureRecognizerDelegate प्रोटोकॉल का पालन करना और (BOOL)gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: इस तरह लागू करने के लिए है:

- (void)viewDidLoad 
{ 
    ... 
    UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(showPan)]; 
    panGesture.delegate = self; 
    [appDelegate.mapView addGestureRecognizer:panGesture]; 
    [panGesture release]; 
} 

- (void)showPan 
{ 
    NSLog(@"pan!"); 
} 

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
    return YES; 
} 

तो यह एक आकर्षण की तरह काम करता है।

+1

यह वही है जो मैं ढूंढ रहा था, धन्यवाद! – Zebs

+7

+1 क्योंकि आप तकनीक समर्थन – Agos

+0

अच्छे भगवान से पूछते थे - धन्यवाद, मुझे पता लगाने में थोड़ी देर लग गई होगी! इस जवाब देने के लिए – n13

संबंधित मुद्दे