Tengo un UINavigationController de carga en la primera ficha de un UITabBarController. Me gustaría agregar un botón de actualización en el lado derecho de la UINavigationItem. Mi dim entender es que uno tiene que establecer las propiedades como los títulos y los botones de un nav el controlador de antes de a la que se añade a la jerarquía de control. No tengo ningún problema en añadir botones para el niño de navegación controlador, pero estoy perplejo por cómo cambia la raíz, ya que la carga de la punta.

Por lo que en el IB captura de pantalla de abajo (uy, no lo suficiente como puntos de reputación, permítanme diagrama de este….), Estoy tratando de agregar un botón de actualización para el elemento seleccionado.

  • Del Propietario del archivo
  • De Primera Respuesta
  • Aplicación Delegado
  • Ventana
  • Tab Bar Controller
    • Ficha De La Barra De
    • La Lista De Observación De Vista Controlador
      • Barra De Navegación
      • Vista Controlador
        • Vista De Tabla
        • Elemento De Navegación
      • Ficha Elemento De La Barra De
    • Otra Lista De Controlador De Vista De
    • etc.
    • etc.

He intentado agregar el botón en la navigationController's viewDidLoad, sin ayuda de nadie:

- (void)viewDidLoad {
[super viewDidLoad]; 

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
         initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
         target:self
             action:@selector(refresh:)];
}

También he intentado agregar mediante programación mis ObservationListViewController a la UITabBarController, e insertar el botón en ese bloque, pero yo estoy fuera de mi profundidad.

Alguna idea de cómo podría inyectar la adición de un botón en el proceso de carga de un nav el controlador de la punta?

Gracias!

OriginalEl autor Scott | 2010-10-19

2 Comentarios

  1. 21

    Parece que el método viewDidLoad está asignando pero no soltar el botón de la barra de punto. usted debe hacer esto:

    UIBarButtonItem *button = [[UIBarButtonItem alloc]
         initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh
         target:self
             action:@selector(refresh:)];
    self.navigationItem.rightBarButtonItem = button;
    [button release];

    Usted necesita hacer esto, no en el nav controlador, pero en la raíz de controlador de vista de que la contenida en el controlador de navegación. En otras palabras, poner en «Controlador de Vista» no «a la Lista de Observación de Vista Controlador»

    Cada controlador que empujar a la nav controlador puede tener su propio auto.navigationItem.lo que sea y este se mostrará por el nav controlador cuando el nuevo controlador es empujada a la pila.

    Nimrod, you rock! Una explicación ni siquiera puedo seguir!

    OriginalEl autor Nimrod

  2. 0

    Trabajado en SWIFT 4.1

    navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: 
    UIBarButtonSystemItem.refresh, target: self, action: 
    #selector(RootViewController.refresh))

    OriginalEl autor Masih

Dejar respuesta

Please enter your comment!
Please enter your name here