我有图像视图,最初是隐藏的。当我点击TakePhotoButton
,然后它获取图像并将其分配给图像视图。然后图像视图可见。
当我调试我的代码时,我总是得到我的productImg
是nil,即使chosenImage
不是nil。
@property (strong, nonatomic) IBOutlet UIImageView *productImg;
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
self.productImg.hidden=NO;
self.productImg.image=chosenImage;
[picker dismissViewControllerAnimated:YES completion:NULL];
}
试一下:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
__block MyViewController *aBlockSelf = self; // Replace MyViewController with your View Controller
UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
[picker dismissViewControllerAnimated:YES completion:^{
aBlockSelf.productImg.hidden = NO;
aBlockSelf.productImg.image = chosenImage;
}];
}
你可以使用下面的代码,它可能对你有帮助。
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info {
{
UIImage *chosenImage = [info objectForKey:UIImagePickerControllerEditedImage];
self.productImg.hidden=NO;
self.productImg.image=chosenImage;
[picker dismissViewControllerAnimated:YES completion:NULL];
}
为什么一开始要隐藏呢?由于图像将为空,因此它将不会被看到。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *chosenImage;
chosenImage= info[UIImagePickerControllerOriginalImage];
[self.productImg setImage:chosenImage];
[picker dismissViewControllerAnimated:YES completion:NULL];
}