Estoy tratando de conseguir la siguiente configuración en el Guión gráfico.

Guión controlador de navegación y barra de pestañas controlador

Donde tengo una vista de tabla en el principio, y cuando me toca una célula a la que se necesita para la transición a la pestaña de la barra de controlador, el cual trabaja. Pero ahora quiero un título y un extra de navegación botón de la barra de en la la 2 más a la derecha de los controladores.

Pero me parece que no puede arrastrar un botón para allí o al momento de establecer el título, nada se muestra. ¿Cómo puedo conseguir esta configuración en el guión?

edición:

Actualizado pregunta, basándose en respuesta a continuación.

Guión controlador de navegación y barra de pestañas controlador

Cuando tengo esta nueva instalación (por lo tanto con un extra de navegación controlador en el medio) me puede poner el título en el guión, pero cuando se ejecuta la aplicación, el título no está demostrado.

edit: he subido un proyecto de xcode con exactamente que el programa de instalación. Tal vez puede venir en práctico.

  • Es su problema resuelto yo gt el problema similar
InformationsquelleAutor Matthijn | 2014-05-08

5 Comentarios

  1. 24

    Para cambiar el UINavigationBar título (sin necesidad de crear otras 2 UINavigationController) sólo se puede utilizar

    [self.parentViewController.navigationItem setTitle:@"Title"];

    y para añadir el botón derecho del uso

    self.parentViewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(myRightButton)];

    sobre viewDidLoad método para cada UIViewController referencia de su UITabBarController.

    Si quieres trabajar con «estructuras de navegación» en el interior de su UIViewController de TabItems así que usted puede editar su BUFViewController.m a que:

    #import "BUFViewController.h"
    
    @interface BUFViewController ()
    
    @end
    
    @implementation BUFViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        //Do any additional setup after loading the view, typically from a nib.
        [self.parentViewController.navigationController setNavigationBarHidden:YES];
        self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)];
    }
    
    -(void)done{
        [self.parentViewController.navigationController popToRootViewControllerAnimated:YES];
    }
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        //Dispose of any resources that can be recreated.
    }
    
    @end

    Usted tiene que pensar como tu UITabBarController que hay dentro de tu padre NavigationController, por lo que desea ocultar el padre UINavigationBar y mostrar la suya.
    Después de eso, usted será capaz de volver a su mesa utilizando popToRootViewControllerAnimated: los padres UINavigationController.

    Espero que ayude 🙂

    • Gracias por su respuesta. He tratado de su idea, y funciona, pero también mata a un «botón» que normalmente aparecería. (Desde que se agrega a la superposición de la barra de navegación). No sé si tener 2 barra de navegación es el camino a seguir aquí. Pero con uno (mi primera captura de pantalla) me parece que no puede añadir títulos o botones.
    • realmente, hemos tenido que recrear el botón atrás, que funciona bien.
    • Veo la edición, y podría añadir el botón atrás en el código, de hecho, y funciona. Pero ¿no hay algo que me estoy perdiendo aquí? Que esto se podía hacer de una forma más elegante.
    • He hecho una edición, que debe trabajar bastante para usted 🙂
    • En caso de que esto ayuda a cualquier persona, aquí es un enfoque similar en Swift: auto.navigationItem.setRightBarButtonItem(UIBarButtonItem(barButtonSystemItem: .Buscar, objetivo: uno mismo, de la acción: «barButtonItemClicked:»), animados: true)
  2. 10

    Sólo en caso de que alguien estaba buscando un enfoque de swift:

    tabBarController?.title = "Your Title"
    tabBarController?.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Right Button Title", style: UIBarButtonItemStyle.Plain, target: self, action: "rightButtonFunction")

    El código es el mejor situado en viewDidAppear o viewWillAppear por lo que el título y el botón de cambio como las diferentes pestañas se presiona.

    Usted también no necesita el extra de navegación de los controladores con este enfoque.

  3. 3

    Miré a la aplicación de prueba, y veo el título, muy débilmente, bajo la barra de navegación. Usted puede ver tanto en las barras de navegación si selecciona la pestaña de la barra de controlador, y desactive la casilla «Bajo la parte Superior de las Barras de» caja. Sin embargo, esto le da una sombra extraña en la barra de navegación. No sé si hay una forma fácil de solucionar este problema, pero no creo que esta interfaz de usuario con dos barras de navegación se ve bien de cualquier manera. Usted podría desea eliminar el controlador de navegación inicial, y el uso de un modal pasar a presentar la ficha de la barra de controlador en su lugar. Se podría añadir un botón de la barra de elemento para la navegación de los controladores que usted todavía tendría que hacer el despido de los modales de controlador de vista.

  4. 1

    Que usted necesita para reemplazar a los de la vista de los controladores con UINavigationViewControllers.

    Eliminar la derecha dos controladores.

    Arrastrar y soltar 2 UINavigationViewControllers en el guión gráfico y la posición de ellos como quiera.

    Entonces, usted necesita para conectar los nuevos en la vista de navegación a los controladores de la barra de pestaña controlador. Ctrl + clic y arrastrar desde la barra de pestaña controlador para la navegación de los controladores. Seleccione «ver» controladores de la «Relación Segue» la sección del menú que aparece. Haga esto para ambos controladores de navegación.

    • Sí, he intentado que (yo he actualizado mi pregunta, ya que era mi idea inicial. Entonces puedo colocar un título en el guión gráfico del generador, pero no se muestra cuando estoy ejecutando la aplicación.
    • ¿Has probado la definición explícita de la barra superior en los atributos del inspector de vista de su guión en lugar de utilizar «Inferido»?
    • Si estableciendo explícitamente que significa el uso de este campo de entrada, a continuación, . Como se puede ver que también puede arrastrar un botón de la barra en el bar. Pero cuando se ejecuta la aplicación, no se muestra nada para que la vista sólo el vacío de la barra de navegación.
    • Usted puede cambiar el título de la tabBarController para actualizar el título, mientras que el mantenimiento de la navegación botón atrás. [[self tabBarController] setTitle:@"First View Controller"];. Sucio, pero funciona.
  5. 0
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
        if ([segue.identifier isEqualToString:@"Overview_Register"])
        {
            WDRegisterViewController *obj=(WDRegisterViewController *)[segue destinationViewController];
            obj.str_Title[email protected]"Edit Profile";
            obj.isRegister=NO;
        }
    }
    
                [self performSegueWithIdentifier:@"Overview_Measure" sender:nil];
    
    
    
        UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        WDPeekViewController *Peek = (WDPeekViewController *)[sb instantiateViewControllerWithIdentifier:@"WDPeekViewController"];
     [self.navigationController pushViewController:tabBarController animated:YES];

Dejar respuesta

Please enter your comment!
Please enter your name here