2013-04-05 13 views
5

私はストーリーボードプロジェクトでナビゲーションバーのタイトルを1つ作成しましたが、次のviewcontrollerに移動したときに戻るボタンは以前のナビゲーションバー(メインナビゲーションバー)のタイトルと同じ名前を表示します。別のタイトルと戻るボタン名を設定できますか?ナビゲーションバーのタイトルと戻るボタンの名前は同じですか?

次のコードを試しましたが、動作しませんでしたか?どうして?このナビゲーション項目が直ちに スタックの一番上の項目の下にある場合

[email protected]"Recent Books"; 
[email protected]"Back"; 
+0

私の答えをご覧ください http://stackoverflow.com/questions/9871578/how-to-change-the-uinavigationcontroller-back-ボタンの名前/ 9871775#9871775 – Tendulkar

+0

その答えは私のために働いていません – Naveen

答えて

19

UINavigationItem Class Reference

」によると、ナビゲーションコントローラは、このナビゲーション項目から ナビゲーションバーの戻るボタンを導出します。[ ...] に戻るボタンのカスタムイメージまたはタイトルを指定する場合は、 の代わりにカスタム バーボタンアイテム(カスタムタイトルまたはイメージ)を割り当てることができます。

ですから、他のVC

[email protected]"Recent Books"; 
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
            initWithTitle:@"Back" 
            style:UIBarButtonItemStylePlain 
            target:nil 
            action:nil]; 
self.navigationItem.backBarButtonItem=backButton; 
+0

@Bhargavi ...技術的なエラーはありません。ok ok – Naveen

+0

私は最初のビューで2つのBarButtonをカスタマイズしました。 "設定"。しかし、私は最初のビューでBackButtonの名前を設定しなければなりませんでした。私のコンポーネントツリーには3つのBarButtonがありますが、アプリケーションを実行するとすべて正常に機能します。単に意味をなさない。 –

2

次はあなたがまた、このObjective-Cの構文

を使用することができます

-(void)viewDidAppear:(BOOL)animated 
{ 
    self.navigationController.navigationBar.backItem.title = @"back"; 
} 

あなたの問題を解決する必要がありますを推進しているところから、あなたの最初のVCでこれを試してみてください

[[self.navigationController.navigationBar backItem] setTitle:@"back"]; 
6

あなたがビューコントロールを押しているとします充填剤のA - > B viewDidLoad方法でこのコードを追加してみてくださいが

UIBarButtonItem *btn_Back = [[UIBarButtonItem alloc] initWithTitle:@"Back" 
style:UIBarButtonItemStylePlain target:nil action:nil]; 
self.navigationItem.backBarButtonItem=btn_Back; 

ですから、このような方法で

1

はちょうどそれを行うのViewController Bにあなたの "戻る" ボタンが表示されますのViewControllerで

、1

はバックボタンをカスタムを作成し、ナビゲーションバーボタンアイテムのプロパティを左にそれを追加します:

私が今まで見つけた最も簡単な方法の
- (void)viewDidLoad 
{ 
UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
UIImage *backBtnImage = [UIImage imageNamed:@"Backnavigation.png"] ; // Here set the back button image 
[backBtn setBackgroundImage:backBtnImage forState:UIControlStateNormal]; 
[backBtn addTarget:self action:@selector(handleBack:) forControlEvents:UIControlEventTouchUpInside]; 
backBtn.frame = CGRectMake(0, 0, 24, 24); 
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:backBtn] ; 
self.navigationItem.leftBarButtonItem = backButton; 
} 


//Handle the Back Button Event 
- (void) handleBack:(id)sender 
{ 
    // do your custom handler code here 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

また、この方法では、毎回NavigationBarのタイトルを変更する必要はありません。ここで

はあなたの参照のために戻るボタンです: enter image description here

関連する問題