6

そのため、UINavigationController は、新しいビュー コントローラーがナビゲーション コントローラーのスタックにプッシュされた場合、自動的に [戻る] ボタンを表示します。前のView Controllerでタイトルが設定されていない場合、戻るボタンにはデフォルトの「戻る」タイトルが表示されます。前のView Controllerでタイトルを設定すると、戻るボタンにそのタイトルが表示されます。これは次のようになります。

バックタイトル
ただし、そのタイトルが長すぎると、戻るボタンのタイトルがデフォルトの「戻る」に変わることがあります。次に、次のようになります。

ここに画像の説明を入力
それは予想される動作であり、私はそれで問題ありません。

問題は、私のアプリが 3 つの異なる言語にローカライズされていることです。すべてのコントローラーのタイトルを手動でローカライズしているので、戻るボタンに完全なタイトルが表示されていれば問題ありません。

この問題は、(ローカライズされた) タイトルが長すぎて、アプリが現在表示している言語ではなく、英語 (または iOS 設定で指定されたデフォルト言語) のデフォルトの「戻る」タイトルに置き換えられた場合に発生します。

私の質問は、前のコントローラーのタイトルが長すぎる場合にのみ、戻るボタンのタイトルを手動で設定するにはどうすればよいですか?

デフォルトの戻るボタンを次のように置き換えてみたことを付け加えておきます。

this.NavigationItem.BackBarButtonItem = new UIBarButtonItem (localizedBackTitle, UIBarButtonItemStyle.Plain, null);

正常に動作しますが、戻るボタンのタイトルが「静的」になり、前のコントローラーのタイトルが表示されません。

4

1 に答える 1