【Objective-C】Navigation ControllerからトップにあるViewControllerに戻る方法
SingleViewアプリケーションで作成を開始し、遷移先にNavigationControllerを追加。
遷移したNavigationControllerの下からトップ画面に戻りたい場合の実装方法。
unwindsegueの追加
トップ画面のViewController.mにunwindsegueの処理を追加する。
// 他画面からトップに戻る際に必要 - (IBAction)unwindToTop:(UIStoryboardSegue *)segue { }
Navigation Itemに戻るボタンを表示させる
NavigationBarを選択し、Back Buttonに表示する文言をいれる。
アシスタントエディタを開き、ボタンをSecondViewController.mにOutlet接続する。
ボタンを追加するメソッドを書く。
@implementation SecondViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // ↓↓追加(NavigationBarの左側にボタンを追加する) self.navigationItem.leftBarButtonItem = self.BackButton; }
戻るボタンとunwindsegueの接続
SecondViewControllerのExitを選択し、ユーティリティエリアのコネクションインスペクタを表示する。
トップ画面のViewControllerに追加したunwindsegueが表示される。
右の丸からドックに表示されている「戻るよ」に接続する。
これで、SecondViewの左上に表示された「戻るよ」ボタンからトップ画面へ戻ることができる。