2010-02-17 15 views
5

मैंने एमकेएनोटेशन व्यू को एक एनोटेशन बनाने के लिए उपclassed है जो मूल रूप से drawRect के ओवरराइड के माध्यम से मानचित्र दृश्य पर किसी बिंदु के चारों ओर एक वृत्त खींचता है। वृत्त निम्न परिस्थितियों में ठीक ड्रॉ (सिम्युलेटर में):MKAnnotationView स्वाइप पर गायब हो रहा है और ज़ूम

  • मानचित्र दृश्य
  • स्वाइप करें के प्रारंभिक लोड पर, लेकिन केवल तभी जब कड़ी चोट गति स्पर्श समाप्त होने से पहले बंद कर दिया जाता है (ताकि नक्शा नहीं है "तट" स्पर्श समाप्त होने के बाद)
  • चुटकी ज़ूम

चक्र जब निम्न कार्यों के किसी भी पाए जाते हैं गायब हो जाएगा पर:

  • स्वाइप जहां स्पर्श के बाद नक्शा "तटों" समाप्त हो जाती है
  • डबल-टैप ज़ूम करता है, तो "काम" समूह में से कोई भी कार्य लिया जाता है के बाद यह गायब हो गया है

चक्र पुन: दिखाई देगा।

इसका कारण क्या हो सकता है? मैं ड्रॉ/डिस्प्ले/लेआउट विशेषज्ञ नहीं हूं (स्पष्ट रूप से, मैं ओबीजे सी या आईफोन विशेषज्ञ नहीं हूं)।

- (void)drawRect:(CGRect)rect { 
    // Drawing code 
[self drawCircleAtPoint:CGPointMake(0,0) withRadius:self.radiusInPixels andColor:self.circleAnnotation.color]; 
} 


- (void)drawCircleAtPoint:(CGPoint)p withRadius:(int)r { 
    CGContextRef contextRef = UIGraphicsGetCurrentContext(); 

    float alpha = 0.75; 

    CGContextSetRGBFillColor(contextRef, 255, 0, 0, alpha); 
    CGContextSetRGBStrokeColor(contextRef, 255, 0, 0, alpha); 

    // Draw a circle (border only) 
    CGContextStrokeEllipseInRect(contextRef, CGRectMake(0, 0, 2*r, 2*r)); 
} 
+0

भी इस व्यवहार देख, एक समाधान के लिए देख रहा पर पाया जा सकता ... –

+0

भी मैं कर रहा हूँ एक ही समस्या का सामना करना, कोई किस्मत? – Ameya

+0

"गैर" कामकाजी समूह में सभी को आकर्षित किया गया है? – Magnus

उत्तर

2

आप इस विधि का जोड़ा था:

यहाँ कुछ थोड़ा सरलीकृत कोड है कि मेरे MKAnnotationView उपवर्ग से सबसे अधिक प्रासंगिक लगता है?

- (void)setAnnotation:(id <MKAnnotation>)annotation 
{ 
    [super setAnnotation:annotation]; 
    [self setNeedsDisplay]; 
} 

यह एप्पल के नमूना कोड WeatherMap बुलाया एप्लिकेशन जो एप्पल डेवलपर केंद्र से हटा दिया गया था से लिया जाता है, लेकिन GitHub https://github.com/acekiller/iOS-Samples/blob/master/WeatherMap/Classes/WeatherAnnotationView.m

+0

नमूना कोड में मौसम एनोटेशन गायब हो जाते हैं और प्रत्येक ड्रैग/ज़ूम के बाद पुनः दिखाई देते हैं। – Robert

+1

ऐसा इसलिए है क्योंकि उन्होंने इसे इस तरह से लागू किया है, '- (शून्य) मानचित्र देखें: (MKMapView *) मानचित्र क्षेत्रडिड चेंजएनिमित: (BOOL) एनिमेटेड' विधि 'MapViewController.m' –

+0

मेरे लिए काम किया। Dunja, धन्यवाद !! – pho0

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