wake-up-neo.com

Ändern Sie den UINavigationBar-Button

In meiner Anwendung möchte ich für jeden Viewcontroller den 'Zurück'-Text als Rückentitel verwenden. Ich habe zwar so viele Posts auf stackoverflow gelesen, aber nichts bekommen.

Ich möchte nicht Leftbarbuttonitem setzen. 

Kann mir jemand bei dieser einfachen Aufgabe helfen?.

Vielen Dank, 

33
S S

Tun Sie dies im übergeordneten Ansichtscontroller, nicht im untergeordneten

Swift

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

Ziel c

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
91
rustylepord
self.navigationController.navigationBar.topItem.title = @"";
34
Alex_Burla

Wenn Sie das Storyboard verwenden, können Sie das Navigationselement im übergeordneten View-Controller auswählen und den gewünschten Schaltflächentext in das Feld "Back Button" setzen. Denken Sie daran, dies im Ansichts-Controller parent und nicht im untergeordneten Objekt festzulegen.

 enter image description here

8
P.L.

Versuchen Sie diese Hoffnung, dass es funktionieren wird

UIBarButtonItem *btn = 
        [[UIBarButtonItem alloc] initWithTitle:@"New Title" 
                                         style:UIBarButtonItemStyleBordered 
                                        target:nil 
                                        action:nil];
[[self navigationItem] setBackBarButtonItem:btn];
5
morroko

Ich musste self.navigationController.navigationBar.backItem.title = @""; verwenden, mit dem Unterschied, dass ich backItem anstelle von topItem verwende.

3
Brian

Swift 2.0:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.navigationBar.topItem?.title = ""
}

Hinweis: Dies funktioniert nur, wenn das Storyboard über eine Navigationsstapelkette verfügt.

Andere Optionen/Titel ändern:

self.navigationController?.navigationBar.backItem?.title = ""
navigationItem.backBarButtonItem?.title = ""
navigationItem.leftBarButtonItem?.title = ""

NavigationItem entfernen: 

navigationItem.setLeftBarButtonItem(nil, animated: true)
1
A.G
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
1
WoShiNiBaBa

fügen Sie in AppDelegate in der DidFinishLaunchingWithOptions diesen Code hinzu:

[[UIBarButtonItem appearance] 
setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000.0, 0.0) 
forBarMetrics:UIBarMetricsDefault];
0
Gaurav Malhotra

Zurück-Taste Mit Pfeil nach hinten

Ziel c

self.navigationController.navigationBar.topItem.backBarButtonItem = 
[[UIBarButtonItem alloc] initWithTitle:@"Title" style:UIBarButtonItemStylePlain
target:nil action:nil];

Swift

self.navigationController?.navigationItem.backBarButtonItem = 
UIBarButtonItem(title:"Title", style:.plain, target:nil, action:nil)

Normale Taste ohne Rückpfeil

Ziel c

self.navigationItem.leftBarButtonItem = 
[[UIBarButtonItem alloc] initWithTitle:@"Title" 
style:UIBarButtonItemStylePlain target:nil action:nil];

Swift

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title:"Title", 
style:.plain, target:nil, action:nil)

Fetter Knopf Ohne Hinteren Pfeil

Ziel c

self.navigationItem.leftBarButtonItem = 
[[UIBarButtonItem alloc] initWithTitle:@"Title" 
style:UIBarButtonItemStyleDone target:nil action:nil];

Swift

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title:"Title", 
style:.done, target:nil, action:nil)
0
rjobidon

Ändert die aktuell sichtbare Schaltfläche "Zurück"

extension UIViewController {
func setCurrentBackButton(title: String) {
    guard let vcCount = self.navigationController?.viewControllers.count else {
        return
    }

    let priorVCPosition = vcCount - 2

    guard priorVCPosition >= 0 else {
        return
    }

    self.navigationController?.viewControllers[priorVCPosition].navigationItem.backBarButtonItem = UIBarButtonItem(title: title, style: .plain, target: self, action: nil)
}
0
PMW