0

戻るボタンのテキストをカスタマイズして目的の文字列を表示することについて、かなりの数のスレッド ( Navigation Bar 、 NavigationController UINavigationBar Back Buttonの「戻る」ボタンのタイトルを変更するにはどうすればよいですか) を参照しました。ただし、絵コンテは使用しません。それらの多くは適用されません。

背景を説明するために、ストーリーボードを使用してビュー (view1および) を作成しました。戻るボタンを使用して に移動しview2たいと思います。IBを使用してこれを行うにはどうすればよいですか?view2view1

または、 に設定self.navigationItem.backBarButtonItem.titleしてみまし@"Custom text";たが、これもうまくいきません。

Back誰かがボタンのテキストを変更する方法を提案できますview2か? ありがとう!

4

5 に答える 5

4

私は私の質問に対する解決策を見つけました。以下で説明するメソッドを使用すると、親ビュー コントローラーのタイトルを変更せずに戻るボタンのテキストを変更できます。

  1. ストーリーボード ファイルを開き、2 つの viewController を接続するリンクをクリックします。
  2. ユーティリティパネルを開き、属性インスペクターをクリックします。
  3. ストーリーボード セグエに意味のある識別子を付けます。(この例では、saveReturn と呼びます。) Enter キーを押して受け入れます。
  4. 親ビュー コントローラーの .m ファイルを開き、コードを挿入します。

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"saveReturn"]) { self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Save & Return" style: UIBarButtonItemStyleBordered target:nil action:nil]; } `}

于 2012-10-16T01:46:39.663 に答える
3

私はそれが古い質問であることを知っていますが、完全を期すために:

それを行うストーリーボードの方法 (個人的には、可能な限りストーリーボードで行うのが好きです):

変更したい戻るボタンのあるビューののビュー (つまり、変更する戻るボタンの移動先) で、ナビゲーション バーを選択し、属性インスペクタで [戻るボタン] フィールドの値を変更します (これもここにあります)。ビューの名前を変更できます) - 以下を参照してください。

ここに画像の説明を入力

于 2013-08-18T17:39:03.543 に答える
2

ストーリーボードソリューションは次のとおりです。

prepareForSegueビューコントローラのタイトルを、戻るボタンに収まる短いタイトルに設定します。

MyViewController *mvc = segue.destinationViewController;
mvc.title = @"Docs";

元に戻すには、次の手順で逆を実行しますviewWillAppear

self.title = @"Important Documents";
于 2012-10-13T23:06:40.467 に答える
1

私はストーリーボードに慣れていません。

ただし、通常、トリックは

  • view1 から view2 に切り替える直前に、view2 の戻るボタンで必要に応じて view1 のタイトルを設定します。

    [ViewController1 setTitle:@"View2 の戻るボタンに表示したいテキスト"];

  • view1 に戻ると、このタイトルは必要ありません。したがって、view1 のビューコントローラーの実装では、以下をオーバーライドします。

    -(void) viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self setTitle:@"ビュー 1 で実際に使用したいタイトル"]; }

このようにして、view1 から view2 に切り替えると、戻るボタンに表示されるタイトルがトリガーされます。view2 から view1 に戻すときは、view1 が「表示される」という事実を利用します。

于 2012-10-13T22:09:17.747 に答える
0

質問でview1がview2の前のビューであるかどうかを指定しませんでしたが、それがあなたがやろうとしていることである場合(戻るボタンでカスタムタイトルを使用する場合)、ストーリーボード内で簡単に行うことができます.

ストーリーボードにナビゲーション バーが表示されない場合は、ストーリーボードでビュー 1 のビュー コントローラーを選択し、属性インスペクターで、トップ バーに [推論] ではなく [ナビゲーション バー] が選択されていることを確認します。

view1 のナビゲーション バーを選択すると、属性インスペクターに、タイトル、プロンプト、戻るボタンの 3 つのフィールドが表示されます。[戻る] ボタン フィールドにテキストを追加すると、view1 から view2 に移動したときに、view2 の [戻る] ボタンのタイトルの代わりに、[戻る] ボタンでこのテキストが使用されます。

于 2012-10-16T06:57:36.830 に答える