La adición de un nuevo punto de vista sobre rightcalloutaccessoryview pulse el botón

votos
0

Quiero añadir una nueva visión de una pulsación de botón rightcalloutaccessoryview. En este momento tengo la funcionalidad para dejar caer un alfiler en el mapa. Una anotación (MKAnnotation) con un título, subtítulo, y cargas del galón Al tocar en el pin. Al tocar en el galón (rightcalloutaccessoryview) Quiero otra vista para que aparezca mostrar más información en este momento. En este momento, el grifo Chevron no hace nada. Esto es lo que tengo:

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

He comprobado que este método de acción se consiga llamar al presionar la flecha tipo. Por desgracia, no puedo conseguir que tire hacia arriba de un nuevo punto de vista. Si alguien sabe lo que estoy haciendo mal, por favor hágamelo saber. Estoy en un poco de una pizca ...

¡Gracias!

Thomas

Publicado el 11/02/2010 a las 06:31
fuente por usuario
En otros idiomas...                            


1 respuestas

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

}

Que faltaba ésta declaración:

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

Me gustaría encontrar otra manera por lo que no tiene que tener ese número mágico (99999) allí (además, parece un poco inmadura ...). No estoy muy preocupado por eso, ya que funciona sin embargo.

Tengo mi ayuda de los Foros de desarrolladores de Apple, aquí .

Respondida el 19/02/2010 a las 23:24
fuente por usuario

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