デフォルトでは、戻るボタンは、テキストとしてビューコントローラーのタイトルを使用します。 View Controllerのタイトルを変更せずに戻るボタンのテキストを変更できますか?タイトルが長すぎて表示できないView Controllerがあるため、これが必要です。この場合、戻るボタンのキャプションとして「戻る」だけを表示したいと思います。
私は次のことを試しましたが、うまくいきませんでした:
self.navigationItem.leftBarButtonItem.title = @"Back";
ありがとう。
試してみる
self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil] autorelease];
Appleのドキュメントで INavigationItem の backBarButtonItem ドキュメントを見ると、それがわかりました。
Marc Wのアプローチは、どのコントローラーに適用するかを考え出すとうまくいきました。これがナビゲーションスタックの場合:
(bottom) ControllerA -> ControllerB (top)
... ControllerBが上にあるの場合に表示される戻るボタンでControllerAの短いタイトルを付けたい場合、プロパティの変更をControllerAに適用します。
したがって、self.title
、他の左/右バーボタンセッターとは異なります。
ストーリーボードでできます。 (長いタイトルのある)ビューコントローラーに戻り、ナビゲーションアイテムを選択して、属性インスペクター(Alt + Cmd + 4)を開き、カスタムの戻るボタンタイトルを挿入します。
おかげでマルコ...助けてくれた...
これが私がしたことです。
TableViewを使用してさまざまなビューに移動している場合...コードを入力します。
self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil] autorelease];
最初のコントローラーのdidSelectRowAtIndexPath
メソッド...コントローラーA.
コントローラBに移動すると、ボタンのタイトルは「戻る」になります。
戻るボタンは、親View Controllerのタイトルからテキストを引き出します。
親のView Controller(戻るボタンをタップすると表示されるView Controller)で、戻るボタンの目的のテキストとして独自のタイトルを設定します。
たとえば、RootViewController
クラスがあるとします。テーブルビューでセルをクリックすると、SecondViewController
のインスタンスをプッシュします。 SecondViewController
インスタンスの[戻る]ボタンに「Home」と表示させます。
RootViewController.mのviewDidLoad
メソッド内:
self.title = @"Home";
SecondViewController.mのviewDidLoad
メソッド内:
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backButton;
[backButton release];
戻るボタンに「戻る」と表示させたい場合は、親View Controllerのタイトルを@"Back"
;
これは私にとってはうまくいきます。試してください:
self.navigationController.navigationBar.topItem.backBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
ストーリーボードを使用している場合:
それだけです、お楽しみください...
そして、MonoTouchでは次のように動作します(親コントローラーのViewDidLoadで):
NavigationItem.BackBarButtonItem = new UIBarButtonItem( "Back", UIBarButtonItemStyle.Plain, null);
親View Controllerで、ビューがロードされたときに戻るボタンを設定します。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.navigationItem.backBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:@"title"
style:UIBarButtonItemStylePlain
target:nil
action:nil];
}
最新のiOSバージョンの最後にautorelease
を含める必要がないことに注意してください。
お役に立てれば!
[self.navigationItem setBackBarButtonItem:[[UIBarButtonItem alloc]
initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil]];
これは私のために働いた。
あなたがタイトルを持ちたくない場合、これは私のために働いた!
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationController.navigationBar.topItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
[self.navigationController.navigationBar.backItem setTitle:@"back"];
わたしにはできる。 「戻る」を別のものに置き換えることができます。
戻るボタンのタイトルを変更するには、以下のコードを参照してください
InformationVC *infoController=[[InformationVC alloc]init];[self.navigationController infoController animated:YES];
//Below code changed back button title on InformationVC page.
UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Information" style: UIBarButtonItemStylePlain target: nil action: nil];
self.navigationItem.backBarButtonItem = backBarButton;`enter code here`
私はついに、これらの答えが最初は私にとってうまくいかなかった理由を知りました。タイトルをストーリーボードに設定しました。コードにタイトルを設定したとき。できます!
self.navigationItem.title = @"Main Menu";
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@" " style:UIBarButtonItemStyleBordered target:nil action:nil];
[[self navigationItem] setBackBarButtonItem:backButton];
//これは、以下に示すように前のView Controllerでタイトルを設定することで実現できます
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
//Set Title for this view
self.navigationItem.title = "My Title"
}
override func viewWillDisappear(animated: Bool) {
super.viewWillAppear(animated)
//Set Title for back button in next view
self.navigationItem.title = "Back"
}
私の解決策は、View ControllerがNavigation Stackにプッシュされたときにタイトルを設定し、プッシュされたVCが閉じる前にデリゲートメソッドを使用してタイトルをリセットすることでした:
そこで、他のView Controllerを次のようにプッシュするときに、View Controllerを呼び出す際にタイトルを変更しました。
self.pushedVC = [self.storyboard instantiateViewControllerWithIdentifier:@"pushedVCIdentifier"];
self.pushedVC.delegate = self;
[self.navigationController pushViewController:self.pushedVC animated:YES];
self.title = @"Back";
デリゲートコールバック関数(viewWillDissapearで呼び出します):
-(void)pushedVCWillClose:(PushedVC *)sender
{
self.title = @"Previous Title";
}
[戻る]ボタンのテキストを変更して元の左矢印の形状を維持するだけでなく、ユーザーが[戻る]ボタンをクリックしたときに何かをしたい場合は、「 CustomNavigationController "。