使用UIImagePickerController选择图像后,照片库视图仍保留在屏幕上 [英] Photo Library view stays on screen after choosing an image with UIImagePickerController

查看:90
本文介绍了使用UIImagePickerController选择图像后,照片库视图仍保留在屏幕上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

即使我在 imagePickerController:didFinishPickingImage:editingInfo 中调用了 dismissModelViewControllerAnimated ,我仍然可以通过照片库中的UIImagePickerController界面选择图片后,照片库视图仍保持显示状态. >.

After I choose a picture through the UIImagePickerController interface from the Photo Library, the Photo Library view stays displayed, even though I've called dismissModelViewControllerAnimated in imagePickerController:didFinishPickingImage:editingInfo.

有人看过吗?这些是我正在使用的三种相关方法:

Has anyone seen this? These are the three relevant methods I'm using:

- (IBAction)choosePictureFromLibrary:(id)sender {
    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
        UIImagePickerController* picker = [[UIImagePickerController alloc] init];
        picker.delegate = self;
        picker.allowsImageEditing = YES;
        picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        [self presentModalViewController:picker animated:YES];
        [picker release];
    }
    else {
        UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Error accessing Photo Library" message:@"This device does not support a Photo Library." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
}


- (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingImage:(UIImage*)image editingInfo:(NSDictionary*)editingInfo {   
    UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Picture picked!" message:@"You picked a picture!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];

    [picker dismissModalViewControllerAnimated:YES];
}


- (void)imagePickerControllerDidCancel:(UIImagePickerController*)picker {   
    [picker dismissModalViewControllerAnimated:YES];
}

我本以为调用imagePickerController:didFinishPickingImage:editingInfo会完全关闭照片库"视图,但似乎没有.我还有什么要做的事才能使它消失吗?

I would have thought that calling imagePickerController:didFinishPickingImage:editingInfo would completely dismiss the Photo Library view, but it doesn't seem to. Is there anything else I have to do to make it go away?

推荐答案

您需要访问选择器的viewController而不是选择器本身.尝试使用此行.

You need to access the viewController of the picker not the picker itself. Try this line instead.

[[picker parentViewController] dismissModalViewControllerAnimated:YES];

这篇关于使用UIImagePickerController选择图像后,照片库视图仍保留在屏幕上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆