我想在用户拍照或选择保存的照片后添加确认视图。确认视图将仅显示所选图像,工具栏中有取消和上传按钮。
我的 UIImagePickerController 从我的视图控制器之一以模态方式呈现,该视图控制器由导航控制器控制,而导航控制器又由选项卡栏控制器控制。
如何以模态方式呈现我的确认视图,以便在用户选择照片时它占据全屏(如图像选择器视图)?理想情况下,我想要这样的东西:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissModalViewControllerAnimated:YES];
UIViewController *modal = [[UIViewController alloc] init];
modal.view = confirmationView;
[self presentModalViewController:modal animated:YES];
[modal release];
}
但是,这会使应用程序崩溃。我应该从选择器中以模式方式呈现确认视图吗?如果是这样,我如何确保当确认视图被关闭时,选择器也不会显示?
EDIT:
修复了我发布的代码中的错误。这就是当我尝试从记忆中输入而不是复制+粘贴时发生的情况:(无论如何,到目前为止的建议没有帮助。
如果我呈现模态控制器然后关闭选择器,则不会发生任何事情,大概是因为两个控制器随后都被关闭了。
如果我关闭选择器然后显示模态控制器,我会得到关于模态转换的异常:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Attempting to begin a modal transition from <UINavigationController: 0x6b33940> to <UIViewController: 0x6b62b00> while a transition is already in progress. Wait for viewDidAppear/viewDidDisappear to know the current transition has completed'