【问题标题】:UIImagePickerController returning Null for certain imagesUIImagePickerController 为某些图像返回 Null
【发布时间】:2013-08-31 17:26:25
【问题描述】:

我遇到了一个我无法真正理解的问题。在大多数情况下,当我通过 UIImagePickerController 抓取图像时,我会返回一个 UIImage。这一行

UIImage* outputImage = [info objectForKey:UIImagePickerControllerEditedImage]? : [info objectForKey:UIImagePickerControllerOriginalImage];

但有时,我会返回 Null 图像。我似乎无法弄清楚为什么。有没有人遇到过类似的情况?

我似乎发现它更频繁地从网络保存的图像中返回这些空图像。但我不能说仅此而已。

谢谢!

完整的方法。当用户从选取器中选取图像时会发生这种情况。

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


    UIImage* outputImage = [info objectForKey:UIImagePickerControllerEditedImage]? : [info objectForKey:UIImagePickerControllerOriginalImage];

    NSLog(@"Output Image : %@", outputImage);

}

我从日志中得到的回报是

Output Image : (null)

【问题讨论】:

  • 你能显示一些代码吗?
  • 发布的代码无法解析。请 NSLog 两个键的值并发布结果。
  • 好的,检查上面。谢谢!

标签: iphone ios objective-c xcode uiimagepickercontroller


【解决方案1】:

设置允许编辑为UIImagePickerController.Like

UIImagePickerController *picker = [[UIImagePickerController alloc]init];
picker.allowsEditing = YES;

【讨论】:

    【解决方案2】:

    我知道这已经晚了,但我最近遇到了一个类似的问题,返回的值为 null。如果您实际上并没有编辑图像,那么可以肯定地说只使用:UIImage* outputImage = info[UIImagePickerControllerOriginalImage]; 您的代码的问题,我相信其他人试图说的是三元运算符在错误的位置。使用三元运算符的正确方法是(condition) ? (if_true) : (if_false)。 如果遇到类似问题,祝大家好运。

    【讨论】:

      【解决方案3】:

      您的代码不正确。构造“?:”应该是这样的:(布尔表达式)? “如果是则选择”:“如果否则选择”。在您的代码中不存在“如果是则选择”。我不明白编译器通过了这个,但可能是“nil”表示“如果是则选择”。我注意到 EditedImage 永远不会是 nil,所以你总是选择 nil。正确的代码应该是:

      UIImage* outputImage = [info objectForKey:UIImagePickerControllerEditedImage] ? [info objectForKey:UIImagePickerControllerEditedImage] : [info objectForKey:UIImagePickerControllerOriginalImage];
      

      但请注意,我从未见过

      [info objectForKey:UIImagePickerControllerEditedImage] == nil ))))

      对不起,我的英语不好。 祝你好运!

      【讨论】:

      • 1) OP 发布的代码不起作用。 2)您的术语使用很糟糕。构造“?:”称为“三元运算符”。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 2011-03-16
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 2021-02-09
      相关资源
      最近更新 更多