我想从
imagepickercontroller
获取图像。但是我的代码没有任何效果
这是代码..
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissModalViewControllerAnimated:YES];
imageview.image = [UIImage imageNamed:[info objectForKey:@"UIImagePickerControllerOriginalImage"]];
您可以尝试此代码来访问从选择器返回的图像
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[picker dismissModalViewControllerAnimated:YES];
UIImage* originalImage = nil;
originalImage = [info objectForKey:UIImagePickerControllerEditedImage];
if(originalImage==nil)
{
originalImage = [info objectForKey:UIImagePickerControllerOriginalImage];
}
if(originalImage==nil)
{
originalImage = [info objectForKey:UIImagePickerControllerCropRect];
}
//At this point you have the selected image in originalImage
[self saveImageToDocumentDirectory:originalImage];
}
尝试
imageview.image = (UIImage*) [info objectForKey:UIImagePickerControllerOriginalImage];
针对 Swift 5 进行了更新,以下内容将安全地解开
UIImage
。
// This uses the full key value
guard let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage else { return }
// This uses only the info key value for shorter code
guard let image = info[.originalImage] as? UIImage else { return }
更新至 Swift 5,以下将安全获取 UIImage
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
var newImage: UIImage
if let possibleImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
newImage = possibleImage
} else if let possibleImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
newImage = possibleImage
} else {
return
}
m_imgView.image = newImage
self.dismiss(animated: true, completion: nil)
}
希望对您有帮助。
试试这个
imageview.image = [info objectForKey:UIImagePickerControllerOriginalImage];