我试图让我的应用程序在用户完成选择图像时切换到另一个 View ,但发生的情况是当用户完成选择图像时,它关闭了选择器并返回到相同的 View 。
这是我的代码:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
[picker dismissModalViewControllerAnimated:YES];
DrawingViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Drawing"];
viewController.image.image = image;
[self presentModalViewController:viewController animated:NO];
}
最佳答案
发生这种情况是因为您使用动画关闭了选择器模态视图 Controller 并立即呈现新的 View Controller 。您只能在前一个 View Controller 被关闭后呈现一个新的模态视图 Controller 。 一个解决方案是在没有动画的情况下关闭选择器模式:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
[picker dismissModalViewControllerAnimated:NO];
DrawingViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Drawing"];
viewController.image.image = image;
[self presentModalViewController:viewController animated:NO];
}
另一种解决方案(仅适用于 iOS 5)是使用 dismissViewControllerAnimated: completion:
方法:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
[picker dismissViewControllerAnimated:YES completion:^(){
DrawingViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Drawing"];
viewController.image.image = image;
[self presentModalViewController:viewController animated:NO];
}];
}
关于objective-c - 在 UIImagePickerController 之后切换 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699963/