我刚遇到这个问题。我可以像往常一样调用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/