我正在尝试使用 popToViewController,但我不断收到错误“尝试弹出到不存在的视图控制器”?
我在设置视图中,当用户单击“退出”时,我关闭设置 VC 并转回到调用 unwind segue 方法的主视图。在 unwind segue 方法中,我调用以下方法。
-(IBAction)endSettingsViaLogout:(UIStoryboardSegue *)segue {
//[self performSegueWithIdentifier:@"mainToLoginSegue" sender:self];
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];
//[self.navigationController popViewControllerAnimated:YES];
DLog(@"User finished with search");
}
当调用 poptoVC 时,我得到“试图弹出到不存在的视图控制器”。
我对 self.navigationController.viewControllers 进行 NSLog 记录,我可以看到 VC 的堆栈,而我想要弹出的堆栈在里面?
/// 更新 //////
好的,这就是我发现的。如果我对“设置”的转场是常规的“推送”转场,那么代码可以工作,我会被弹回到我想要的位置。如果我从屏幕左侧进行自定义转场,则它会停止工作。即使使用自定义 segue,self.navigationcontroller.viewcontrollers 也会在堆栈中显示它。那么为什么我不能弹回它呢?或者我怎样才能用自定义转场回到它?