ios - navegacion - navbar bootstrap 4 ejemplos
Configuración de la barra de navegación imagen del botón Atrás (4)
De los documentos para UIBarButtonItem setBackButtonBackgroundImage: forState: barMetrics ::
Para obtener buenos resultados, backgroundImage debe ser una imagen estirable.
Entonces, hazlo estirable. Es decir, especifique qué partes de la imagen se pueden estirar y, lo que es más importante, qué partes no se pueden estirar. En su caso, estos serán los bordes de la imagen (la parte que no contiene la flecha).
UIImage resizableImageWithCapInsets:
La alternativa es suministrar una cantidad de imágenes (una para cada métrica de barra) que es de un tamaño que significa que no será necesario escalarla. Raywenderlich usuario-interfaz-personalización . Pero todavía vas a querer hacer que la imagen sea estirable para que tengas control sobre lo que sucede.
Si no puede encontrar una especificación de estiramiento que funcione, su posición alternativa es crear un elemento de botón de retroceso de plantilla para cada instancia de cada controlador de vista y establecerlo como backBarButtonItem
para su elemento de navegación.
Quiero establecer el botón Atrás en mi barra de UINavigation a esta imagen:
No quiero que la imagen se incruste en la imagen del botón Atrás estándar, solo quiero que aparezca esta imagen.
Sé por mirar otras preguntas que puedo usar:
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:barButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
para configurar la imagen de fondo del botón Atrás. Pero esto hace que la imagen se estire, y esta imagen en particular no es, por lo que puedo decir, adecuada para ser estirada.
¿Hay alguna manera de reemplazar la imagen del botón Atrás con mi imagen?
Estoy apoyando iOS 5.0 y más.
Desde iOS 7+ debe usar la propiedad UINavigationBar
de UINavigationBar
para configurar su imagen de indicador personalizado. También debe proporcionar backIndicatorTransitionMaskImage
(puede usar la misma imagen para ambos).
Swift :
UINavigationBar.appearance().backIndicatorImage = UIImage(named: "back-button-image")
UINavigationBar.appearance().backIndicatorTransitionMaskImage = UIImage(named: "back-button-image")
Objetivo-C :
[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"back-button-image"]];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"back-button-image"]];
Para Swift 3
En ViewDidLoad pegue esto
let backBtn = UIBarButtonItem()
let image: UIImage = UIImage(named: "your_image_name")!
backBtn.image = image
backBtn.action = #selector(popSelf)
backBtn.target = self
navigationItem.leftBarButtonItem = backBtn
crear la siguiente función,
func popSelf() {
navigationController?.popViewController(animated: true)
// do your stuff if you needed
}
Versión rápida: -
self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "HomeLeft@2x")
self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "HomeLeft@2x")
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
pon esto en viewDidLoad ()