ios - Ocultar el botón de retroceso en la barra de navegación con hidesBackButton en Swift
navigation bar ios swift 4 (8)
Esto funcionó para mí:
override func viewWillAppear(animated: Bool)
{
super.viewWillAppear(animated)
self.tabBarController?.navigationItem.hidesBackButton = true
}
Quiero ocultar el botón Atrás al pasar de una vista a otra. Leí las preguntas sobre este problema y cada respuesta fue "use hidesBackButton
". El problema con esto es:
cuando lo coloco en viewDidLoad / viewWillAppear la flecha del botón Atrás se oculta, pero la cadena "Atrás" no.
cuando lo coloco en viewDidAppear el botón de retroceso desaparece pero es visible para el usuario
¿Cómo puedo arreglar esto?
Editar:
Aquí es cómo puede replicar este problema (o error?)
Crea una nueva aplicación con pestañas con Swift en Xcode. En FirstViewController.swift use performSegueWithIdentifier para navegar hasta el segundo controlador de vista. En el SecondViewController.swift, oculte el botón de retroceso de la barra de navegación con el botón hidesBackButton y verá cuál es el problema.
Intenta agregar esto, esto funcionó para mí
navigationItem.hidesBackButton = true
Intenta agregar esto:
let backButton = UIBarButtonItem(title: "", style: .Plain, target: navigationController, action: nil)
navigationItem.leftBarButtonItem = backButton
Me funcionó cuando lo configuré en init (), en lugar de viewDidLoad. Aunque extraño
Para ocultar el botón Atrás con el último Swift:
self.navigationItem.setHidesBackButton(true, animated: false)
Puede usar el siguiente código para ocultar el botón UINavigationBar
en UINavigationBar
.
Swift 3 ;
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationItem.hidesBackButton = true
}
esto me funcionó
navigationController?.navigationBar.topItem?.hidesBackButton = true
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.navigationController?.navigationBarHidden = false
var button: UIButton = UIButton()
button.setImage(UIImage(named: "person-icon.jpg"), forState: .Normal)
button.frame = CGRectMake(0, 0, 25, 25)
button.targetForAction("actioncall", withSender: nil)
var rightItem:UIBarButtonItem = UIBarButtonItem()
rightItem.customView = button
self.navigationItem.rightBarButtonItem = rightItem
let backButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil)
navigationItem.leftBarButtonItem = backButton
}
override func viewWillAppear(animated: Bool) {
let backButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil)
navigationItem.leftBarButtonItem = backButton
}