Adăugarea unui nou vizualizare pe rightcalloutaccessoryview apăsați butonul

voturi
0

Vreau să adăugați o nouă vizualizare pe un buton de presă rightcalloutaccessoryview. Am în prezent funcționalitatea de cădere un cod PIN pe hartă. Un callout (MKAnnotation) cu un titlu, subtitlu, și încarcă zigzag când am apăsați știftul. Când am apăsați zigzag (rightcalloutaccessoryview) Vreau o altă vedere să pop-up care arată mai multe informații în acest moment. Chiar acum, robinetul zigzag nu face nimic. Aceasta este ceea ce am:

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

Am verificat că această metodă de acțiune poate fi apelată la apăsarea zigzag. Din păcate, nu pot să-l pentru a trage o nouă vizualizare. Dacă cineva știe ce fac greșit, vă rugăm să-mi spuneți. Sunt într-un pic de un vârf de cuțit ...

Mulțumiri!

Thomas

Întrebat 11/02/2010 la 06:31
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

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

}

Acesta a fost lipsește această declarație una:

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

Aș dori să găsească un alt mod, așa că nu trebuie să aibă acel număr magic (99999) acolo (plus, se pare cam imatur ...). Nu sunt prea îngrijorat cu privire la aceasta, pentru că funcționează, totuși.

Am primit ajutorul meu de la Apple Developer Forum, aici .

Publicat 19/02/2010 la 23:24
sursa de către utilizator

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