Ajout d'une nouvelle vue sur la presse bouton rightcalloutaccessoryview

voix
0

Je veux ajouter une nouvelle vue sur une presse bouton rightcalloutaccessoryview. J'ai actuellement la fonctionnalité pour laisser tomber une épingle sur la carte. Un texte associé (MKAnnotation) avec un titre, sous-titre, et quand je charge chevron tape la broche. Quand je tape sur le chevron (rightcalloutaccessoryview) Je veux une autre vue de pop-up montrant plus d'informations à ce stade. En ce moment, le robinet ne fait rien chevron. Voilà ce que j'ai:

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

J'ai vérifié que cette méthode d'action ne s'appelle à appuyer sur le chevron. Malheureusement, je ne peux pas le faire pour tirer une nouvelle vue. Si quelqu'un sait ce que je fais mal, s'il vous plaît laissez-moi savoir. Je suis un peu une pincée ...

Merci!

Thomas

Créé 11/02/2010 à 06:31
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
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";
     }

}

Il lui manquait cette seule déclaration:

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

Je voudrais trouver une autre façon, donc je ne pas avoir ce nombre magique (99999) là-dedans (plus, il semble un peu immature ...). Je ne suis pas trop inquiet à ce sujet, parce que cela fonctionne bien.

J'ai obtenu mon aide des forums de développeurs Apple, ici .

Créé 19/02/2010 à 23:24
source utilisateur

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