タブバーベースのアプリがあります。しかし、ユーザーは 1 つの画面から、タブ バーを持たないより詳細なビューに移動する場合があります。
詳細画面には、上部にナビゲーション バーがあり、右側にはナビゲーション バーの一部として機能するシンプルなボタンがあります。(IBのBar Button Item内にナビゲーションバーと右ボタンを作成し、アウトレットに取り付けました)
ただし、この画面から戻る必要があるため、標準のナビゲーション バーを使用して標準の戻るボタンを追加したいと思います。(IB で手動で追加することもできますが、すぐに利用できる標準イメージがなく、標準を使用する方が「スマート」だと思いました)
ここで、SettingsVC1 内に詳細ビュー (SettingsVC2) を作成します。
SettingsVC2 *settingsVC2 = [[SettingsVC2 alloc] initWithNibName:@"SettingsVC2" bundle:nil selectedTCNumber:tcNumber];
settingsVC2.delegate = self;
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = @"Back";
settingsVC2.navigationItem.backBarButtonItem = temporaryBarButtonItem;
settingsVC2.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:settingsVC2 animated:YES completion:nil];
ナビゲーション バー自体は SettingsVC2 に表示されますが、[戻る] ボタンは表示されません。
これは、SettingsVC2 自体のコードです。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil selectedNumber: (NSInteger) numberx
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.tabBarItem.image = [UIImage imageNamed:@"settings"];
self.view.backgroundColor = [UIColor whiteColor];
self.tableView.opaque = TRUE;
navBar.tintColor = [UIColor colorFromRGBIntegers:W_COLOR_R green:W_COLOR_G blue:W_COLOR_B alpha:W_COLOR_A];
navBar.topItem.title = NSLocalizedString(@"Settings2", @"Settings2");
UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
temporaryBarButtonItem.title = @"Back";
/*
self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
[self.navigationItem.backBarButtonItem setEnabled:YES];
[self.navigationItem.backBarButtonItem setStyle:UIBarButtonItemStyleDone];
*/
navBar.topItem.backBarButtonItem = temporaryBarButtonItem;
}
return self;
}
このコードもコメントアウトされたコードも、戻るボタンを表示しません。
戻るボタンを取得する「標準的な」方法はありますか (私の場合は UINavigationController を使用しません)、または IB に手動で追加して適切な背景画像を取得する必要がありますか?
どうもありがとう!