Přidání nový pohled na rightcalloutaccessoryview stisknutí tlačítka

hlasů
0

Chci přidat nový pohled na tlačítko rightcalloutaccessoryview lisu. I v současné době funkce pro umístit špendlík na mapě. Popisek (MKAnnotation) s titulu, titulky a Chevron zatížení když se klepnutím na čep. Když jsem klepněte na šipku (rightcalloutaccessoryview) Chci jiný pohled na pop-up ukazující Více informací naleznete na tomto místě. Právě teď, krokev kohoutek nic nedělá. To je to, co mám:

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

Mám ověřeno, že tato akce metoda se zavolá po stisknutí šipky. Bohužel, nemohu si to vytáhnout nový pohled. Jestli někdo ví, co dělám špatně, dejte mi prosím vědět. Jsem trochu nouzi ...

Dík!

Tomáš

Položena 11/02/2010 v 06:31
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
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";
     }

}

Chyběla tuto jedinou větu:

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

Chtěl bych najít jinou cestu, takže nemám mít toto magické číslo (99999) tam (plus, zdá se trochu nedospělé ...). Nejsem TOO starosti, protože to funguje ačkoli.

Mám svou pomoc od developera fór Apple, zde .

Odpovězeno 19/02/2010 v 23:24
zdroj uživatelem

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