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,
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];
self.navigationController.navigationBar.topItem.title = @"";
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];
Ich musste self.navigationController.navigationBar.backItem.title = @"";
verwenden, mit dem Unterschied, dass ich backItem
anstelle von topItem
verwende.
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)
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
fügen Sie in AppDelegate
in der DidFinishLaunchingWithOptions
diesen Code hinzu:
[[UIBarButtonItem appearance]
setBackButtonTitlePositionAdjustment:UIOffsetMake(-1000.0, 0.0)
forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.topItem.backBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:@"Title" style:UIBarButtonItemStylePlain
target:nil action:nil];
self.navigationController?.navigationItem.backBarButtonItem =
UIBarButtonItem(title:"Title", style:.plain, target:nil, action:nil)
self.navigationItem.leftBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:@"Title"
style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title:"Title",
style:.plain, target:nil, action:nil)
self.navigationItem.leftBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:@"Title"
style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title:"Title",
style:.done, target:nil, action:nil)
Ä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)
}