Προσθέτοντας μια νέα άποψη για rightcalloutaccessoryview πατήστε το κουμπί

ψήφοι
0

Θέλω να προσθέσω μια νέα άποψη για ένα κουμπί rightcalloutaccessoryview Τύπου. Έχω σήμερα την λειτουργικότητα για τη ρίψη μια καρφίτσα στο χάρτη. Μια επεξήγηση (MKAnnotation) με τίτλο, υπότιτλο, και τα φορτία Chevron όταν πατήσετε το pin. Όταν πατήσετε το Chevron (rightcalloutaccessoryview) Θέλω μια άλλη άποψη για να αναδυθεί δείχνοντας περισσότερες πληροφορίες σε αυτό το σημείο. Αυτή τη στιγμή, η βρύση σιρίτι δεν κάνει τίποτα. Αυτό είναι ό, τι έχω:

-(IBAction)showInfo:(id)sender 
{     
     int calloutButtonPressed = ((UIButton *)sender).tag;
     if(calloutButtonPressed < 99999)
     {
          if(self.DetailView == nil)
          {
               DetailViewController *tmpViewController = [[UIViewController alloc] initWithNibName:@DetailView bundle:nil];
               self.DetailView = tmpViewController;
               [tmpViewController release];
          }

          if (calloutButtonPressed == 1) 
          {
                         // Using the debugger, I found that calloutButtonPressed is equal to 0 when the button is pressed.
                         // So I'm not sure what the point of this method is...
                }
          self.DetailView.title = @Title;
     }
 }

Έχω διαπιστώσει ότι αυτή η μέθοδος δράσης έχει πάρει καλείται πατώντας το σιρίτι. Δυστυχώς, δεν μπορώ να το πάρει για να τραβήξετε μια νέα άποψη. Αν κάποιος ξέρει τι κάνω λάθος, παρακαλώ επιτρέψτε μου να ξέρω. Είμαι σε ένα κομμάτι από ένα τσίμπημα ...

Ευχαριστώ!

Θωμάς

Δημοσιεύθηκε 11/02/2010 στις 06:31
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

    -(IBAction)showInfo:(id)sender 
{   
     int calloutButtonPressed = ((UIButton *)sender).tag;
     if(calloutButtonPressed < 99999)
     {
          if(self.detailView == nil)
          {
               DetailViewController *tmpViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
               self.detailView = tmpViewController;
               [tmpViewController release];
          }

          [self.navigationController pushViewController:self.detailView animated:YES];

          if (calloutButtonPressed == 0) 
          {
               // TRP - I inserted my view atIndex:99999 to ensure that it gets placed in front of all windows
               // TODO: figure a better way to do this
               [self.view insertSubview:detailView.view atIndex:99999];
          }
          self.detailView.title = @"Title";
     }

}

Αυτό έλειπε αυτό μία δήλωση:

[self.view insertSubview:detailView.view atIndex:99999];

Θα ήθελα να βρω έναν άλλο τρόπο γι 'αυτό δεν χρειάζεται να έχουν αυτό το μαγικό αριθμό (99999) εκεί (συν, φαίνεται κάπως ανώριμη ...). Δεν ανησυχώ TOO γι 'αυτό, επειδή λειτουργεί όμως.

Πήρα τη βοήθειά μου από το Apple Developer Φόρουμ, εδώ .

Απαντήθηκε 19/02/2010 στις 23:24
πηγή χρήστη

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