在我的StoryBoard中,我在導航控制器中嵌入了我的根視圖控制器,並在啓動應用程序時顯示此視圖。然後用戶通過一系列視圖,這些視圖基本上是以模態方式呈現的視圖控制器。popToRootViewControllerAnimated的問題
我想實現一個功能回到根視圖控制器,所以我叫
-(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
是不可轉讓。
有什麼想法?