我刚遇到这个问题。我可以像往常一样调用 UIImagePickerController,但是当我选择一个图像(拍摄照片或照片库)时,“使用照片”按钮和“重拍”按钮不起作用,并且 UI 只是卡住。
我做了一些调试,发现代码不会进入委托(delegate)方法。
我没有更改任何关于 UIImagePickerController 的代码。之前一切正常。所以我想知道为什么会发生这种情况以及如何修复这个错误?
非常感谢!
代码如下:
UIImagePickerController * imgPicker = [[UIImagePickerController alloc] init];
[imgPicker setDelegate:self]
[imgPicker setAllowsEditing:YES];
[imgPicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[self.navigationController presentViewController:imgPicker animated:YES completion:^{
}];
- (void)imagePickerControllerUIImagePickerController *)picker didFinishPickingImageUIImage *)image editingInfonullable NSDictionary<NSString *,id> *)editingInfo {
[self dismissViewControllerAnimated:YES completion:^{
}];
}
Best Answer-推荐答案 strong>
我知道了。这是由于使用了错误的委托(delegate)方法造成的。我使用的委托(delegate)方法已已弃用。
我们应该使用这个
- (void)imagePickerControllerUIImagePickerController *)picker didFinishPickingMediaWithInfoNSDictionary *)info;
并且图片信息在info字典中,可以通过这种方式获取图片
UIImage *image = [info objectForKey"UIImagePickerControllerOriginalImage"];
关于ios - Xcode 8 UIImagePickerController 卡住,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/40342718/
|