3

ストーリーボードに新しい ViewController を表示するためにプッシュ セグエを使用しています。デフォルトでは、プッシュされたナビゲーション コントローラーのバック バー項目には、「前の」(下にある) コントローラーのタイトルが付けられます。

バックバー項目のタイトルを「Back」などに変更するために、プッシュされる ViewController に次のコードを実装しました。

- (void)viewDidLoad {
    [super viewDidLoad];

    self.navigationItem.backBarButtonItem.title = @"Back";
}

ただし、これはバック バー アイテムのタイトルを変更しません。また、新しく作成した UIBarButtonItem を使用しようとしましたが、結果は同じでした: バック バー アイテムは変更されません。

prepareForSegue別のアプローチは、セグエが実行されるコントローラーのように、バックバー項目を設定することでした。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{

    if ([[segue identifier] isEqualToString:@"pushViewController"]) {
        UIViewController *viewController = [segue destinationViewController];
        viewController.navigationItem.backBarButtonItem.title = @"Back";
    }
}

同じ結果: バック バー アイテムのタイトルは変わりません。では、バックバー項目のタイトルを簡単に変更するにはどうすればよいでしょうか? 前もって感謝します!

4

3 に答える 3

3

マルコの答えよりももう少し具体的に言うと、探しているのは次のとおりです。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{        
    self.title = @"Back";
    // ...
}

ストーリーボード内の各シーンに何が何であるかを単に知るのではなく、現時点で「self.title」が何であるべきかを中心にステートマシン全体を配置する必要が生じる可能性があるため、これは非常に面倒であることに注意してください。戻るボタンは言うべきです。

于 2012-06-27T16:31:49.153 に答える
2

宛先View Controllerではなく、ソースView ControllerでnavigationItem.backBarButtonItem.titleを設定します。

于 2012-06-19T03:40:11.380 に答える
0

「Storyboard->VC->NavigationItem」の例にバック バー アイテムのタイトルを「Back」として追加し、セグエを準備するときに次のように設定します。

self.navigationItem.backBarButtonItem.title = @"Need a Title :)";
于 2012-10-14T12:00:31.687 に答える