Pregunta

Esta puede ser una pregunta estúpida, pero ¿es posible mantener un UIBarButtonItem correcto en varias vistas administradas por un UINavigationController ? Tengo una progresión de vistas que a menudo comparten el mismo derecho UIBarButtonItem , pero cuando presiono una nueva vista en mi UINavigationController , tengo que redefinir el botón cada vez, incluso si no ha cambiado Sobre todo, la notable animación de transición de una vista a la siguiente es lo que me molesta porque el mismo botón se desvanece brevemente y luego vuelve a entrar, lo cual no es necesario ya que no hay un cambio visual real. ¿Debo considerar simplemente agregar un UIButton como una subvista de mi UINavigationBar y completar un botón de la barra derecha? & Quot; ¿Efectuar de esta manera?

¿Fue útil?

Solución

Lo hicimos en nuestra aplicación. Creamos un solo UIBarButtonItem que cambiamos de un UIViewController a otro a medida que el usuario navega. El truco consistía en utilizar UINavigationControllerDelegate, el método navigationController: willShowViewController: animated:. Establecemos el derecho de barraButtonItem saliente de UIViewController en nulo y el botón de barra derecha en el botón de entrada del controlador de entrada. Es un dolor administrar, pero funciona.

Otros consejos

UIBarButtonItems se pueden crear como instancias independientes en un archivo nib / xib. Si no hay nada especial que le impida construir el botón en el generador de Interfaz, debe conectarlo a la propiedad rightBarButtonItem de UINavigationItem para cada controlador de vista que necesite reutilizar el botón. No se necesita ningún objetivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top