iPhone देव नक्शे और अ-चयनित एनोटेशन =

वोट
0

मैं सफलतापूर्वक एनोटेशन की एक सरणी का उपयोग कर एक नक्शे पर एनोटेशन ड्राइंग कर रहा हूँ। मैं भी एनोटेशन पर क्लिक करें और बदल यह रंग या छवि है सकते हैं। मेरी समस्या पैदा होती है जब उपयोग दूसरे एनोटेशन चयन करता है और मैं गतिशील रंग या पहले एक की छवि वापस एक गैर चयनित रंग / छवि के लिए बदलना चाहते हैं। मैं सभी टिप्पणियों की सरणी हो और सरणी के माध्यम से काम, लेकिन एक बार मैं रंग या छवि सरणी ओ.टी. सेट करने का प्रयास मैं एक ऐसी ही त्रुटि मिल सकती है।

for (MKAnnotationView *ann in map.selectedAnnotations){ 
  if ([ann isMemberOfClass:[Place class]]) { 
    place = (Place *)ann; 
      if (currentPlaceID != place.placeID) { 
        UIImage *i = [UIImage imageNamed:@pin.png];
        ann.image = i; 
      }
}

उपरोक्त कोड ठीक काम करता है जब तक मैं ann.image को = मैं मिलता है, फिर त्रुटियों यह। त्रुटियों मैं प्रकार हैं: -

  • - [प्लेस setImage:]: गैर मान्यता प्राप्त चयनकर्ता उदाहरण 0x4514370 के लिए भेजा समाप्त एप्लिकेशन न आया हुआ अपवाद 'NSInvalidArgumentException', कारण की वजह से: '** - [प्लेस setImage:]: गैर मान्यता प्राप्त चयनकर्ता उदाहरण 0x4514370 के लिए भेजा'

कृपया सलाह के रूप में मैं अब 2 दिनों के लिए इस पर हलकों में चारों ओर जा रहा किया गया है !!!!

पर कैसे सबसे अच्छा कोई भी विचार यह करने के लिए?

अग्रिम में धन्यवाद

29/10/2009 को 13:58
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
0

मैं अंत में पता लगा कि इसे कैसे किया। हमेशा की तरह यह है कि मुश्किल एक बार आप जानते हैं कि कैसे नहीं है। बस सोचा था कि मैं इस पर से होकर गुजरेगा।

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
  {
    [super setSelected:selected animated:animated];
    NSLog(@"here I am in set selected");
    if (YES == selected)
    {
       NSLog(@"I am selected");
    }
    else 
   {
     self.backgroundColor = [UIColor clearColor];
      NSLog(@"not selected");
    }
  }
29/10/2009 को 20:23
का स्रोत उपयोगकर्ता

वोट
0

आप वर्ग छवि कहा जाता है जहाँ पर एक संपत्ति है?

की तरह कुछ ... @property (nonatomic, retain) UIImage* image;और यह ठीक से संश्लेषित है? @synthesize image;?

त्रुटि सुंदर सीधे आगे है, किसी वस्तु संदेश प्राप्त कर रहा है कि यह करने के लिए, अर्थात् 'setImage' जो .image से शुरू हो जाती है जवाब नहीं है।

यहाँ अपने कोड है:

1. for (MKAnnotationView *ann in map.selectedAnnotations) {
2.    if ([ann isMemberOfClass:[Place class]]) {
3.        place = (Place *)ann;
4.        if (currentPlaceID != place.placeID) {
5.           UIImage *i = [UIImage imageNamed:@"pin.png"];
6.           ann.image = i;
7.        }
8.    }
9. }

मैं क्या देख सकते हैं:

  • ऐन एक MKAnnotationView (map.selectedAnnotations से) है
  • आप लाइन 3 पर एक जगह पर अपनी एनोटेशन typecasting कर रहे हैं (यह सही है? प्लेस उपवर्ग करता MKAnnotationView?)
  • आप ठीक ढंग से व्याख्या करने के लिए छवि सेट कर रहे हैं

इसका क्या मतलब है:

  • यदि जगह वास्तव में MKAnnotationView का एक उपवर्ग है, तो आप को छुपा दिया setImage (किसी भी तरह) विधि
  • तो स्थल MKAnnotationView का एक उपवर्ग नहीं है, तो आप एनोटेशन (सुनिश्चित) आप एक टिप्पणी के रूप इलाज के लिए कोशिश कर रहे हैं करने के लिए गलत एनोटेशन जोड़ दिया है।
29/10/2009 को 14:05
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more