[iOS]ナビゲーションバーの戻るボタンを任意の文字列に変更する方法

今更なtipsですが、毎回忘れるので備忘録です。

ナビゲーションコントロールを用いて画面の遷移を行なっている場合、ナビゲーションバーの戻るボタンの名称は自動的に前画面のタイトルの文字列が表示されます。これが長いとカッコ悪いですし、単純に「戻る」などの特定の文字列を表示したい場合があると思います。

戻るボタン修正前

その場合は、遷移前の「navigationItem」に対して、文字列を変更した「backBarButtonItem」を設定してやるとうまくいきます。実際の動きですと遷移後に設定したくなりますが、あくまで遷移前です。ここもはまりました。

以下はテーブルビューのセルを選択した際に別ビューに遷移するサンプルです。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    
    DTMissionDetailEditController* deitalEditController = [[DTMissionDetailEditController alloc] init];
    
    UIBarButtonItem *backBarButtonItem= [[UIBarButtonItem alloc] initWithTitle:@"戻る"
    style:UIBarButtonItemStylePlain target:nil action:nil];
    [self.navigationItem setBackBarButtonItem:backBarButtonItem];
    [backBarButtonItem release];
    
    deitalEditController.detail = (MissionDetail*)[self.missionDetailList objectAtIndex:indexPath.row];
    [self.navigationController pushViewController:deitalEditController animated:YES];
    [deitalEditController release];
    
}

上記コードで戻るボタンの名称が変わります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>