将拍摄的图像分配给imageview .image



我有图像视图,最初是隐藏的。当我点击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];
}

最新更新