Aggiunta di una nuova vista sul pulsante rightcalloutaccessoryview

voti
0

Voglio aggiungere una nuova vista su una pressa tasto rightcalloutaccessoryview. Al momento ho la funzionalità per far cadere uno spillo sulla mappa. Una didascalia (MKAnnotation) con un titolo, sottotitolo e carichi chevron Quando si tocca il perno. Quando si tocca l'chevron (rightcalloutaccessoryview) Voglio un altro al fine di pop-up che mostra ulteriori informazioni a questo punto. In questo momento, il rubinetto chevron non fa nulla. Questo è quello che ho:

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

Ho verificato che questo metodo di azione venga chiamata premendo il chevron. Purtroppo, non posso farlo per tirare su una nuova visualizzazione. Se qualcuno sa di cosa sto facendo male, per favore fatemelo sapere. Sono un po 'di un pizzico ...

Grazie!

Tommaso

È pubblicato 11/02/2010 alle 06:31
fonte dall'utente
In altre lingue...                            


1 risposte

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

}

Mancava questa dichiarazione:

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

Mi piacerebbe trovare un altro modo in modo da non avere quel numero magico (99999) in là (più, a quanto pare un pò immatura ...). Io non sono troppo preoccupato, perché funziona però.

Ho ottenuto il mio aiuto da parte di Apple Developer Forum, qui .

Risposto il 19/02/2010 a 23:24
fonte dall'utente

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