Quiero cambiar el título de backbutton a cualquier nombre de swift 3.He intentado de muchas maneras, pero ninguno de ellos funcionó para mí.

self.navigationItem.backBarButtonItem?.title="Title"
self.navigationController?.navigationItem.backBarButtonItem?.title="Title"

Sólo por la información que he escrito a continuación el código en el appdelegate.

let backImage : UIImage = UIImage(named:"backArrow")!
UINavigationBar.appearance().barTintColor = UIColor(red: 0.0/255.0, green: 0.0/255.0, blue: 0.0/255.0, alpha: 1.0)
UINavigationBar.appearance().tintColor = UIColor.white
UINavigationBar.appearance().backIndicatorImage = backImage
UINavigationBar.appearance().backIndicatorTransitionMaskImage = backImage
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName : UIColor.white]
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, 0), for: .default)
IQKeyboardManager.sharedManager().enable = true
self.window?.backgroundColor = UIColor.white

OriginalEl autor Techiee | 2016-11-09

5 Comentarios

  1. 4

    Elemento de navegación botón de atrás el nombre será el mismo que el título de la vista anterior del controlador que está empujando a la pila de navegación 🙂

    Así que si VC empuja a VC B, botón atrás en VC B A.

    Así que todo lo que puede hacer es, cambiar el título de la anterior viewController antes de empujar la nueva viewController utilizando el código 🙂

    self.navigationItem.title = "ABCD"

    Y en ViewWillAppear de UN VC,puede revertir el título de vuelta a lo que era antes 🙂

    self.navigationItem.title = "Back to xyz"

    Todo lo que se dice, si usted no quiere que todo este circo 🙂 simplemente puede ocultar el defecto de nuevo el botón usando,

    self.navigationItem.hidesBackButton = true

    en su VC B, crear un UIBarButton elemento, conjunto cualquiera que sea el título que se desea establecer y, a continuación, establezca que como leftBarButtonItem 🙂 utilizando,

    self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: NSLocalizedString("ABCD", comment: "ABCD"), style: .plain, target: self, action:#selector(self.abcdTapped:)

    por supuesto, ahora que no show «<» icono 🙂 Ahora si quieres también puedes añadir una imagen a la parte posterior botón de la barra de artículo 🙂 pero su engorrosa 🙂

    Espero que ayude 🙂

    OriginalEl autor Sandeep Bhandari

  2. 4

    Tendrá que establecer la backBarButtonItem propiedad de la navigationItem de la viewController que empujar el dijo viewController.

    self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.plain, target: nil, action: nil)

    Sin embargo, debe establecer para cada viewController.

    OriginalEl autor Sparr

  3. 3

    En Swift 3.0 poner a continuación el código en appdelegate didFinishLaunchingWithOptions su método funcionó a la perfección para mí

    let backImage = UIImage(named: "BackNavigation")?.withRenderingMode(.alwaysOriginal)
    UINavigationBar.appearance().backIndicatorImage = backImage
    UINavigationBar.appearance().backIndicatorTransitionMaskImage = backImage
    UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -80.0), for: .default)

    La última línea va a quitar el título de Navigation Back Button si usted no desea eliminar el título, a continuación, sólo comentar que

    Ya No funciona en iOS 11

    OriginalEl autor arunjos007

  4. 1

    No encontré la respuesta que estaba buscando así que quiero compartir con ustedes mi solución.

    A veces tienes que cambiar el texto del botón atrás en el padre ViewController y no en el ViewController donde parece ser definido en el botón atrás, recordar que un controlador de navegación de la pila ViewControllers una después de la otra.

    En mi caso lo hice sobre la función prepare(for segue: ) de la «ParentViewController«:

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    
        if segue.identifier == "showChildViewController" {
            if let childViewController = segue.destination as? ChildViewController {
                let backItem = UIBarButtonItem()
                backItem.title = "Back"
                navigationItem.backBarButtonItem = backItem
            }
        }

    OriginalEl autor Jose Briones

  5. 0

    Intentar siguientes pasos para ajustar la imagen a su botón de atrás..

    De salida:

    Cómo Cambiar de nuevo el botón de título en la navegación controlador en swift3?

    Paso 1:

    Agregar el siguiente código a su AppDelegate

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        //Override point for customization after application launch.
    
        var backButtonImage = UIImage(named: "Your Image Name")
        backButtonImage = backButtonImage?.stretchableImage(withLeftCapWidth: 0, topCapHeight: 0)
        UIBarButtonItem.appearance().setBackButtonBackgroundImage(backButtonImage, for: .normal, barMetrics: .default)
        UINavigationBar.appearance().barTintColor = UIColor(red: 0.0/255.0, green: 0.0/255.0, blue: 0.0/255.0, alpha: 1.0)
        UINavigationBar.appearance().tintColor = UIColor.white
    
        return true
    }

    Paso 2:

    Agregar el siguiente código a su MainVC

    override func viewDidLoad() {
        super.viewDidLoad()
        //Do any additional setup after loading the view, typically from a nib.
    
        title = "Title 1"
        navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.white, NSFontAttributeName:UIFont(name:"HelveticaNeue", size: 20)!]
      }

    Paso 3:

    Agregar el siguiente código a su DestVC o 2ndVC

    override func viewDidLoad() {
        super.viewDidLoad()
        //Do any additional setup after loading the view, typically from a nib.
    
        title = "Title 2"
        navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.white, NSFontAttributeName:UIFont(name:"HelveticaNeue", size: 20)!]
      }

    Paso 4:

    Seleccione su navigationBar de su StoryBoard y goto Atributo Inspector. Bajo Elemento de Navegación cambiar su Espalda nombre del Botón entrar en un espacio vacío o a través de programación crear un botón atrás con un simple título..

    Cómo Cambiar de nuevo el botón de título en la navegación controlador en swift3?

    Paso 5:

    Icono de añadir imagen a sus Activos. 1x29pt,2x58pt y 3x87pt. No estoy seguro sobre el activo del tamaño de la imagen.Consulte con apple doc acerca de la clase de tamaño..

    Cómo Cambiar de nuevo el botón de título en la navegación controlador en swift3?


    Actualización:

    Mi respuesta Similar relacionado con este post.

    Cómo personalizar la navegación de regreso símbolo y navegación de texto?

    OriginalEl autor Joe

Dejar respuesta

Please enter your comment!
Please enter your name here