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

Assign the taken image to image view.image

我有最初隐藏的图像视图。当我点击 TakePhotoButton 然后它拍摄图像并将其分配给图像视图。然后图像视图可见。

当我调试我的代码时,我总是得到我的 productImg 是零,即使 chosenImage 不是零。

@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];
}

为什么要隐藏它initially.Since图像将是空的,无论如何都看不到。

   - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *chosenImage;

            chosenImage= info[UIImagePickerControllerOriginalImage];
            [self.productImg setImage:chosenImage];
            [picker dismissViewControllerAnimated:YES completion:NULL];

}