Het toevoegen van een nieuwe visie op rightcalloutaccessoryview druk op de knop

stemmen
0

Ik wil een nieuwe visie toe te voegen op een rightcalloutaccessoryview druk op de knop. Ik heb momenteel de functionaliteit voor het laten vallen van een pin op de kaart. Een bijschrift (MKAnnotation) met een titel, ondertitel, en chevron ladingen toen ik tik op de pin. Toen ik de chevron (rightcalloutaccessoryview) tikt wil ik een andere kijk op pop-up te zien meer informatie op dit punt. Op dit moment is de chevron kraan doet niets. Dit is wat ik heb:

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

Ik heb vastgesteld dat deze actie methode is aangeroepen bij het indrukken van de chevron. Helaas kan ik niet krijgen om een ​​nieuwe kijk omhoog te trekken. Als iemand weet wat ik verkeerd doe, laat het me weten. Ik ben een beetje in een snuifje ...

Bedankt!

Thomas

De vraag is gesteld op 11/02/2010 om 06:31
bron van user
In andere talen...                            


1 antwoorden

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

}

Het ontbrak deze verklaring:

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

Ik wil graag een andere manier te vinden, zodat ik niet moet dat magische getal (99.999) hebben er (plus, het lijkt een beetje onvolwassen ...). Ik ben niet al te bezorgd over, omdat het werkt wel.

Ik heb mijn hulp van de Apple Developer Forum, hier .

antwoordde op 19/02/2010 om 23:24
bron van user

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