IOSナビゲーションバー戻るボタンのタイトルを変更
2223 ワード
午後また新しい方法を見つけました.この方法はいいですね.しばらく異常を発見していません.
新しく書かれたAppではUINAvigationControllerを使用して各ページをナビゲートする必要がありますが、1段目のページのtitleが長いため、2段目のページに入ってボタンleftButtonItemに戻るtitleが長くなり、NavigationBarのスペースが大きく、美しくないため、コードを使用してleftButtonItemのtitleテキストを修正します.self.navigationItem.leftBarButtonItem.title=@"戻る";それともself.navigationItem.backBarButtonItem.title=@"戻る";いずれも効果がなく、titleテキストは常に変化しません.ネットで検索してみると、以下の解決方法が得られ、比較的簡単で、特記は以下の通りです.
1ページ目のviewDidLoadメソッドに次のコードを追加します.
つまり、新しいボタンでナビゲーションを行う前に元の戻りボタンを置き換えればいいのです.
以下のように設定できますが、そのボタンが四角になって画像を追加して修正できるという欠点があります.
画像を追加する関連コードは以下の通りです.
新しく書かれたAppではUINAvigationControllerを使用して各ページをナビゲートする必要がありますが、1段目のページのtitleが長いため、2段目のページに入ってボタンleftButtonItemに戻るtitleが長くなり、NavigationBarのスペースが大きく、美しくないため、コードを使用してleftButtonItemのtitleテキストを修正します.self.navigationItem.leftBarButtonItem.title=@"戻る";それともself.navigationItem.backBarButtonItem.title=@"戻る";いずれも効果がなく、titleテキストは常に変化しません.ネットで検索してみると、以下の解決方法が得られ、比較的簡単で、特記は以下の通りです.
1ページ目のviewDidLoadメソッドに次のコードを追加します.
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = @" ";
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
[temporaryBarButtonItem release];
つまり、新しいボタンでナビゲーションを行う前に元の戻りボタンを置き換えればいいのです.
以下のように設定できますが、そのボタンが四角になって画像を追加して修正できるという欠点があります.
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(backToPrevious)];
self.navigationItem.leftBarButtonItem = backButton;
[backButton release];
- (void)backToPrevious
{
[self.navigationController popViewControllerAnimated:YES];
}
画像を追加する関連コードは以下の通りです.
UIButton *leftButton = [[UIButtonalloc] initWithFrame:CGRectMake(0, 0, 60, 40)];
[leftButton setTitle:@" "forState:UIControlStateNormal];
[leftButton setImage:[UIImageimageNamed:@"UINavigationBar.png"] forState:UIControlStateNormal];
[leftButton setImage:[UIImageimageNamed:@"UINavigationBar.png"] forState:UIControlStateHighlighted];
[leftButton addTarget:selfaction:@selector(leftAction:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *leftItem = [[UIBarButtonItemalloc] initWithCustomView:leftButton];
[leftButton release];
self.navigationItem.leftBarButtonItem = leftItem;
[leftItem release];
元帖住所:http://hi.baidu.com/givingmore/item/134c50e3ef6fcea52e140b71