UIImagePickerController

UIImagePickerController

我刚遇到这个问题。我可以像往常一样调用UIImagePickerController,但是当我选择一个Image(拍摄照片或照片库)时,“使用照片”按钮和“重新拍摄”按钮不起作用,并且UI冻结。

我已经进行了一些调试,发现代码不会进入委托方法。

我没有更改有关UIImagePickerController的任何代码。之前一切正常。所以我想知道为什么会发生这种情况以及如何解决此错误?

非常感谢!

这是代码:

 UIImagePickerController * imgPicker = [[UIImagePickerController alloc] init];
 [imgPicker setDelegate:self]
 [imgPicker setAllowsEditing:YES];
 [imgPicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
 [self.navigationController presentViewController:imgPicker animated:YES completion:^{

            }];

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary<NSString *,id> *)editingInfo {

    [self dismissViewControllerAnimated:YES completion:^{
    }];
}

最佳答案

我弄清楚了,这是由于使用了错误的委托方法造成的。我使用的是 DEPRECATED

我们应该用这个
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info;
图片信息在信息字典中。您可以通过这种方式获取图片
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

关于ios - Xcode 8 UIImagePickerController卡住,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40342718/

10-14 10:55