2011-11-08 14 views
10

ビューをナビゲーションコントローラにプッシュすると、戻るボタンのタイトル取得は前のビューのタイトルに設定されます。戻るボタンを「戻る」と言うだけではどうしたらいいですか?UINavigationBarの戻るボタンのタイトルを「戻る」に変更する方法

+0

:https://developer.apple .com/library/ios/documentation/userexperience/conceptual/mobilehig/Bars.html#// apple_ref/doc/uid/TP40006556-CH12-SW3 – cleverbit

答えて

30

あなたviewwillappearにこのコードを書く:、

前のビューコントローラで
UIBarButtonItem *_backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleDone target:nil action:nil]; 
self.navigationItem.backBarButtonItem = _backButton; 
[_backButton release]; 
_backButton = nil; 
+0

これは、戻るボタンのように見えることも、動作しません。 – jrturton

+3

はい、そうです。 'backBarButtonItem'プロパティは、このように動作するように特別に設計されており、' UIBarButtonItem'からタイトルまたはカスタムビューを取得し、バックスタイルのボタンにします。 –

+1

ちょうど、この質問の質問者として、この解決策は間違いなく私のために働いていたと言いたいと思っていました。私はちょうど新しいビューを押しているビューコントローラのviewWillAppearにコードを追加する必要がありました。 – cgossain

3

をそれはviewWillAppearでそのタイトルを設定しているし、新しいビューコントローラをプッシュコードでは、それがそのタイトルを変更してい'バック。'

例:

のiOSヒューマンインターフェイスガイドラインは、戻るボタンが「前のレベルのタイトルで標識されなければならない」ことを指定するユーザーを向ける助けるためにいることを言及する価値が
-(void)showNextScreen{ 
    [self setTitle:@"Back"]; 
    [self.navigationController pushViewController:asdf animated:YES]; 
} 
-(void)viewWillAppear{ 
    [super viewWillAppear]; 
    [self setTitle:@"My Actual Title"]; 
} 
+0

いいですね。しかし、新しい画面が表示されたら、過去の画面はタイトルの中で元に戻ります。これは好ましくありません。いいアイデアだけど! – nithinreddy

+0

この回答を読んでいる場合は、代わりに受け入れられた回答を使用してください。 – Tim

関連する問題