Tengo una clase que es de tipo UITableViewController.
Esta clase tiene un miembro de tipo UINavigationBar que yo uso para añadir un botón de edición de la vista de tabla.

El uso de este método de llamada no es válido.

[self.navigationController pushViewController:controller];

¿Cómo puedo inserción de una vista de detalle en la vista después de seleccionar una fila de la tabla sin envolver mi UITableViewController en un UINavigationController?

OriginalEl autor dubbeat | 2011-08-10

5 Comentarios

  1. 6

    Usted no puede empujar un controlador de vista en un controlador de navegación si no hay ningún controlador de navegación. Si usted quiere empujar a los controladores y que muestre el nivel superior y controlador de todo, sólo tiene que utilizar un UINavigationController y hacer con ella.

    Usted puede empujar arbitraria UINavigationItems en su UINavigationBar, y su barra de delegado será notificado cuando el usuario utiliza el botón atrás de modo que usted pueda tomar la acción apropiada. Ver la documentación para obtener más información.

    OriginalEl autor Anomie

  2. 38

    La alternativa más cercana si usted no desea utilizar el controlador de navegación son modales de vista de los controladores.

    [self presentViewController:controller animated:YES completion:nil];

    Este se deslice el controlador en la pantalla de abajo, o si el cambio del controlador de modalTransitionStyle puede voltear o fade in.

    Para despedir el programador sólo tiene que llamar:

    [self dismissViewControllerAnimated:YES completion:nil];
    Usted salvó mi día hombre, gracias

    OriginalEl autor Filip Radelic

  3. 13

    Lo que también se podría hacer es utilizar un Controlador de Navegación como de costumbre y, a continuación, ocultar.

    Para ocultar el Controlador de Navegación mediante storyboards: seleccionar y desmarca la casilla «Mostrar Barra de Navegación» en el atributo inspector. Otros podrían sugerir para ocultar la barra de navegación en cada controlador, pero el problema con esto es que aparece por una milésima de segundo y luego desaparecen.

    pushViewController sin navigationcontroller

    OriginalEl autor José

  4. 10

    Envolvía el UITableView dentro de un UINavigationController y acaba de ocultar el UINavigationBar.

    [self.navigationController setNavigationBarHidden:YES animated:NO];

    Y, a continuación, crear un botón que aparece la ViewController fuera de la pila.

    [self.navigationController popViewControllerAnimated:YES]

    OriginalEl autor Petter

  5. 1

    Es cierto que sin un UINavigationController usted no puede empujar la vista de los controladores. Usted en lugar de vista actual de los controladores de forma modal a través de UIViewController.present(_ viewControllerToPresent:, animated:, completion:)

    Pero es posible crear una aplicación para mostrar el controlador de vista como si se tratara de un empujón (o cualquier otra animación que desea), aunque parece que el uso de un UINavigationController sólo hace las cosas más fáciles.

    He aquí algunos enlaces a la documentación:

    UINavigationController De Referencia De La Clase

    La personalización de las Animaciones de Transición

    La presentación de un Controlador de Vista Modal

    OriginalEl autor Joe149

Dejar respuesta

Please enter your comment!
Please enter your name here