Dodanie nowego widoku na rightcalloutaccessoryview naciśnięciu przycisku

głosy
0

Chcę dodać nowy widok na naciśnięcie przycisku rightcalloutaccessoryview. Obecnie mam funkcjonalność dla upuszczenie szpilki na mapie. Objaśnienie (MKAnnotation) o tytule, napisy i Chevron obciążenia, kiedy dotknij PIN. Kiedy dotknij Chevron (rightcalloutaccessoryview) Chcę inny widok pop-up pokazuje więcej informacji w tym momencie. Teraz, kranik Chevron nic nie robi. To jest to, co mam:

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

I sprawdzeniu, że metoda ta akcja ma się nazywa po naciśnięciu Chevron. Niestety, nie mogę zmusić go do podciągnąć nowy widok. Jeśli ktoś wie, co robię nie tak, proszę dać mi znać. Jestem w trochę szczyptą ...

Dzięki!

Tomasz

Utwórz 11/02/2010 o 06:31
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
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";
     }

}

To brakowało to jedno stwierdzenie:

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

Chciałbym znaleźć inny sposób, więc nie muszę mieć ten numer Magic (99999) tam (plus, wydaje się trochę niedojrzały ...). Nie jestem zbyt zaniepokojeni, bo to działa chociaż.

Mam moją pomoc od dewelopera forum Apple, tutaj .

Odpowiedział 19/02/2010 o 23:24
źródło użytkownik

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