web-dev-qa-db-ja.com

UINavigationBarの戻るボタンのタイトルを変更する

私のアプリケーションでは、すべてのViewControllerの「戻る」テキストを戻るボタンのタイトルとして使用します。 stackoverflowに関する非常に多くの投稿を読みましたが、何も得られませんでした。

Leftbarbuttonitemを設定したくありません。

誰でもこの簡単なタスクで私を助けることができます。

おかげで、

34
S S

これは、子ではなく親のView Controllerで行います

スイフト

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

Objetive-C

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

ストーリーボードを使用している場合は、親View ControllerでNavigation Itemを選択し、「Back Button」フィールドに必要なボタンテキストを設定できます。これは、プッシュされる子ではなく、parentView Controllerで設定することを忘れないでください。

enter image description here

11
P.L.

これがうまくいくことを願って

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

self.navigationController.navigationBar.backItem.title = @"";を使用する必要がありましたが、backItemの代わりにtopItemを使用している点が異なります。

4
Brian
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
1
WoShiNiBaBa

Swift 2.0:

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

注:ストーリーボードにナビゲーションスタックのチェーンがある場合にのみ機能します。

その他のオプション/タイトルの変更:

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

NavigationItemの削除:

navigationItem.setLeftBarButtonItem(nil, animated: true)
0
A.G

AppDelegateDidFinishLaunchingWithOptionsに次のコードを追加します。

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

戻る矢印のある戻るボタン

Objective-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)

戻る矢印のない通常のボタン

Objective-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)

戻る矢印のない太字ボタン

Objective-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

現在表示されている戻るボタンを変更します

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