私の StoryBoard では、ナビゲーション コントローラー内にルート ビュー コントローラーを埋め込んでおり、このビューはアプリの起動時に表示されます。次に、ユーザーは一連のビューを通過します。これらのビューは、基本的にモーダルに表示されるビュー コントローラーです。
ルートView Controllerに戻る機能を実装しようとしているので、
-(IBAction)backToMenu{
NSLog(@"Back to menu");
[self.navigationController popToRootViewControllerAnimated:YES];
}
しかし、何も起こりません。私がそれを行うと、NSLog(@"%@", self.navigationController");
それが印刷null
されるので、それが私の問題の原因だと思います。popToRootViewControllerAnimated:
モーダルに表示されたビュー コントローラーを呼び出すことはできません。
ルート ビュー コントローラーへの参照を渡さない限り。しかし、これは正しいアプローチですか?その場合、ルート ビュー コントローラーへの参照をどのように渡しますか? すべてのビュー コントローラは のカスタム サブクラスのインスタンスであるため、UIViewController
このクラスのコードにこれを挿入してみました:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
[[segue destinationViewController] navigationController] = [[segue sourceViewController] navigationController];
}
navigationController
しかし、それは割り当てられないというエラーが表示されます。
何かご意見は?