Tengo un UINavigationController de instalación en mi AppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {          
    //Add the navigation controller's view to the window and display.
    [self.window addSubview:navigationController.view];
    [self.window makeKeyAndVisible];

    return YES;
}

En mi RootViewController estoy empujando otro punto de vista en la pila:

//Show the deals
    DealViewController *dvc = [[DealViewController alloc] initWithNibName:@"DealViewController" bundle:nil];
    [self.navigationController.navigationBar setHidden:NO];
    [self.navigationController pushViewController:dvc animated:YES];

La vista se muestra, pero no hay ningún botón que se agrega a mi barra de navegación. ¿Por qué es esto y cómo puedo solucionarlo?

¿Cómo se puede asignar el UINavigationController? Buscar algún código de ejemplo y compararlo con su implementación.

OriginalEl autor Sheehan Alam | 2011-02-20

5 Comentarios

  1. 3

    Usted debe pensar en el controlador de navegación como una pila de navegación de los controladores de cada uno controla una pantalla llena de información.
    Se crea la instancia de la navegación controlador con el

    -(id)initWithRootViewController:(UIViewController *)rootViewController

    método. Especifique la raíz de controlador de vista en esta convocatoria. Luego se le agrega la navegación del controlador de la vista como una subvista a la ventana, como lo hizo antes.

    Si quieres mostrar tu segunda pantalla empujar a otro controlador de vista en la pila mediante el uso de

    -(void)pushViewController:detailViewController animated:YES

    método.

    OriginalEl autor GorillaPatch

  2. 24

    Está estableciendo self.title en RootViewController? Quizás el UINavigationController no tiene ningún texto para colocar en el botón atrás, por lo que se omite es…?

    Está estableciendo hidesBackButton = YES o backBarButtonItem = nil en DealViewController, o tiene un diferente leftBarButtonItem definido?

    Esto funcionó para mí! Muchas gracias!
    Esto es realmente una gran respuesta, debe ser comprobar como correcta.
    Tener este problema y han establecido título y no soy ocultar el botón atrás. Muy raro.

    OriginalEl autor Jeff Ames

  3. 4

    Intente esto:

    DetailViewController *detailViewController = [[DetailViewController alloc] init];
    UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle : @"Back"
                                                             style : UIBarButtonItemStyleDone
                                                            target : nil
                                                            action : nil];
    self.navigationItem.backBarButtonItem = back;
    [self.navigationController pushViewController : detailViewController animated : YES];
    [detailViewController release];

    OriginalEl autor Ali

  4. 3

    Utilizando presentModalViewController para mostrar la naviagtionController. Establecer el navagitionController botón de la barra así:

    [navigationController.navigationBar.topItem setLeftBarButtonItem:
        [[[UIBarButtonItem alloc] initWithTitle: @"Back" 
                                          style: UIBarButtonItemStylePlain
                                         target: self
                                         action: @selector(dismisstheModal:)] autorelease]];

    OriginalEl autor zhoulei

  5. 1

    Esto me pasó a mí, porque en mi navegación del controlador de contenido controlador me había levantado con la navegación comportamiento del controlador en viewDidLoad y en otra clase que herede de mi contenido controlador, y el que estaba siendo presentado, he implementado un viewDidLoad así, y se olvidó de llamar a [super viewDidLoad] que lo que me hizo override de la clase base viewDidLoad donde yo estaba configurando mi navegación botones del controlador. Oooops.

    OriginalEl autor Logicsaurus Rex

Dejar respuesta

Please enter your comment!
Please enter your name here