Hinzufügen eine neue Sicht auf rightcalloutaccessoryview Taste drücken

stimmen
0

Ich möchte eine neue Sicht auf einem rightcalloutaccessoryview Taste drücken hinzuzufügen. Im Moment habe ich die Funktionalität einen Stift auf der Karte zum Fallenlassen. Ein callout (MKAnnotation) mit einem Titel, Untertitel und Chevron lädt, wenn ich den Stift tippen. Als ich den Sparren (rightcalloutaccessoryview) tippen möchte ich eine andere Ansicht weitere Informationen zu diesem Punkt Pop-up zeigt. Gerade jetzt, der Chevron-Hahn tut nichts. Das ist, was ich habe:

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

Ich habe festgestellt, dass diese Aktion Methode durch Drücken der Chevron genannt bekommt. Leider kann ich es nicht eine neue Ansicht zu ziehen. Wenn jemand weiß, was mache ich falsch, lass es mich wissen. Ich bin in ein bisschen einer Prise ...

Vielen Dank!

Thomas

Veröffentlicht am 11/02/2010 um 06:31
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

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

}

Es fehlte diese eine Erklärung ab:

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

Ich möchte einen anderen Weg finden, damit ich nicht, dass die magische Zahl haben, haben (99999) in dort (plus, es scheint ein bisschen unreif ...). Ich bin nicht allzu besorgt darüber, weil es aber funktioniert.

Ich habe meine Hilfe der Apple Developer Forums, hier .

Beantwortet am 19/02/2010 um 23:24
quelle vom benutzer

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