在我的故事板中,我有一个 NavViewController,它将根视图设置为 ViewController1。然后 ViewController1 使用标识符“socialSeg”向 ViewController2 推送 segue。ViewController1 有一个 UIImageView,我用它来加载摄像机。在用户录制视频并选择“使用”后,我想加载下一个视图控制器。在 ViewController1.m 我有以下内容:
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSLog(@"Performing Segue with ID");
[self performSegueWithIdentifier:@"socialSeg" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"Prepping");
}
两个 NSLog 都运行,但我的屏幕上没有任何反应。我没有看到 ViewController2,也没有弹出错误消息。我这样做对吗?
相关问题:我应该在 self(当前 ViewController)上运行 performSegueWithIdentifier,还是应该在 self.navigationController 上运行它们?
编辑:我试图缩短我的问题以使帖子更短,我意识到您可能需要更多上下文。
这是我的完整故事板。基本上“视频视图控制器”是 ViewController1,“社交视图控制器”是 ViewController2。当我单击“根视图控制器”按钮(录制视频)时,该 segue 工作正常,这就是我忽略它的原因。“根视图控制器”有没有可能把事情扔掉?