8

新しい ViewController をナビゲーション コントローラー スタックにプッシュすると、「戻る」ボタンが前のコントローラーのタイトルになります。

戻るボタンのテキストをデフォルトの name-of-last-controller ではなく "Back" に変更するにはどうすればよいですか?

4

6 に答える 6

27

これは、前のページのタイトル以外のもので戻るボタンを作成する適切な方法です

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] init];
barButton.title = @"Your Title";

self.navigationItem.backBarButtonItem = barButton; 

私の理解では、次のとおりです。

self.navigationItem.backBarButtonItem.title = @"Your Title";

前のページのナビゲーションバーのタイトルをこれにしますが、これはあなたが望むものではありません。

于 2010-11-17T18:09:07.960 に答える
10

ナビゲーション コントローラーにカスタム ボタンを作成する必要があります。ルート ビュー コントローラーのviewDidLoadに次のコードを追加します。

UIBarButtonItem * tempButtonItem = [[[ UIBarButtonItem alloc] init] autorelease];
tempButtonItem .title = @"Back";

self.navigationItem.backBarButtonItem = tempButtonItem ;

ルート ビュー コントローラーにナビゲーション バー ボタンを設定すると、プッシュされたビューに適切な戻るボタンが表示されます。

于 2010-01-13T00:14:18.143 に答える
2

新しいビュー コントローラーをプッシュする前に、ナビゲーション コントローラーの現在のビュー コントローラーのタイトルを変更できます。

self.title = @"Custom Title";

[self pushViewController: newViewController ...];

and in the navigation controller's delegate class

-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {

if([viewController class] == [OldViewController class]) {

viewController.title = @"Your previous title";

}

}
于 2011-01-03T02:57:58.083 に答える
1

実際には、メイン ビュー コントローラーの のタイトルにタイトルを設定できますnavigationItem。基本的に、それぞれUIViewControllerに小さなスタブUINavigationItemがあり、そのビューを 内で参照する方法に関するメタデータが含まれていますUINavigationController。デフォルトでは、そのメタデータはUIViewControllerそれ自体にフォールバックします。

'self' がUIViewController内に表示されるビューであると仮定すると、次のようUINavigationControllerに設定されます。

self.navigationItem.title = @"My Custom Title"
于 2010-01-13T00:22:22.760 に答える