【问题标题】:iOS 8 Bug with UIImagePickerController Image Crop带有 UIImagePickerController 图像裁剪的 iOS 8 错误
【发布时间】:2014-09-23 07:34:24
【问题描述】:

我遇到了 UIImagePickerController 的问题,allowEditing = YES。 我无法从底部裁剪图像,但移动裁剪矩形时顶部还有一个额外的空白空间。

也在方法中。

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

我记录了信息,但它给了我错误的 CropRect(不是方形的!)

UIImagePickerControllerCropRect = "NSRect: {{0, 357}, {666, 646}}";
UIImagePickerControllerEditedImage = "<UIImage: 0x7f9b8aa47b30> size {640, 618} orientation 0 scale 1.000000";
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0x7f9b8868e5a0> size {1500, 1001} orientation 0 scale 1.000000";

有没有人有这个错误,你如何修复它?

见下图

【问题讨论】:

  • 我遇到了同样的问题...
  • iOS 9 我还是有这个问题,你找到解决办法了吗?
  • 我不敢相信这是 iOS 9 中的问题;它似乎已经存在了很长时间。 @RodrigoRuiz - 你在 iOS 9 中找到解决方法了吗?

标签: uiimagepickercontroller ios8


【解决方案1】:

我不知道怎么做,但我完全删除了 .plist 文件中的“查看基于控制器的状态栏外观”关键行(只是完全删除了这一行)并修复了这个错误

【讨论】:

  • 感谢这实际上解决了我的问题。我知道问题出在状态栏上,但不知道在哪里改变。
  • 但这会在所有视图中启用状态栏。还有其他选择吗?
  • 这个解决方案的唯一问题,虽然它解决了这个问题,但它创建了一个新的状态栏是可见的,你可以看到电池和时间。这里有谁知道如何解决这个问题?
【解决方案2】:

我无法将“基于视图控制器的状态栏外观”设置为“是”,所以当我像这样显示 UIImagePickerController 时,我尝试隐藏状态栏:

 let imagePickerController = UIImagePickerController()

 ... 

 myViewController.present(imagePickerController, animated: true) {
     UIView.animate(withDuration: 0.25, animations: {
         UIApplication.shared.isStatusBarHidden = true
     })
 } 

然后在UIImagePickerControllerDelegate didFinishPickingMediaWithInfo 上显示状态栏,它起作用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-11
    • 2012-01-19
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多