[英]Can't get image from UIImagePickerController
我检查了一些教程,据我所知我的代码是正确的,但是最后我没有得到图像。 我没有收到任何错误,但是我尝试设置的屏幕上的图像仍然空白。
这是我的头文件
@interface homeViewController : UIViewController<UIImagePickerControllerDelegate, UINavigationControllerDelegate>
@property (weak, nonatomic) IBOutlet UIImageView *avatarImage;
@property (weak, nonatomic) IBOutlet UIButton *photoButton;
@property (nonatomic, retain) UIImagePickerController *imgPicker;
- (IBAction)setPhoto;
@end
这是相关的方法
- (IBAction)setPhoto
{
self.imgPicker = [[UIImagePickerController alloc] init];
self.imgPicker.sourceType=UIImagePickerControllerSourceTypeCamera;
self.imgPicker.delegate=self;
self.imgPicker.allowsEditing = YES;
self.imgPicker.showsCameraControls=YES;
[self presentModalViewController:self.imgPicker animated:YES];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[picker dismissModalViewControllerAnimated:YES];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
self.avatarImage = [[UIImageView alloc] init];
self.avatarImage.image = image;
[self dismissModalViewControllerAnimated:YES];
}
当我在此处放置断点时:[self dismissModalViewControllerAnimated:YES]; 我看到image变量有一个值,但是self.avatarImage有一个0x00000000
由于您指定了allowsEditing = NO
您需要使用UIImagePickerControllerOriginalImage
信息键。
注意:如果未进行任何编辑,则“ EditedImage”可能默认为“ OriginalImage”。 在这种情况下,“ image”变量将是有效的,UIImageView在self.avatarView中的显示将是罪魁祸首。
您使用了错误的委托方法。 采用
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
您正在使用的委托方法已在iOS 3.0中弃用。
线
[picker dismissModalViewControllerAnimated:YES];
[picker release];
使用信息字典之前必须先出现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.