iOS 8 中 UIImagePickerController 图片裁剪 Bug

11

我在使用UIImagePickerController时遇到了问题,其中allowsEditing = 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";

有人遇到这个bug了吗?如何解决呢?

请看下面的图片: 无法选择图像底部


我遇到了和你一样的问题... - CashLee李秉骏
2
iOS 9,我仍然有那个问题,你找到解决方案了吗? - Rodrigo Ruiz
我简直不敢相信这是iOS 9的问题,它似乎已经存在很长时间了。@RodrigoRuiz - 你在iOS 9中找到解决方法了吗? - SAHM
2个回答

4

我不知道是怎么做的,但我在.plist文件中完全删除了"View controller-based status bar appearance"键行(只需完全删除此行),这就修复了这个错误。


谢谢,这确实解决了我的问题。我知道问题出在状态栏,但不知道在哪里更改。 - ishhhh
但这会在所有视图中启用状态栏。还有其他选项吗? - ishhhh
1
也许这会有所帮助:https://dev59.com/cWMk5IYBdhLWcg3w5Bzy - nadirov
这个解决方案唯一的问题是,虽然它解决了这个问题,但它创建了一个新问题,即状态栏可见,你可以看到电池和时间。这里有人知道如何解决吗? - rcat24

1

我无法将“View controller-based status bar appearance”设置为YES,因此我尝试在显示UIImagePickerController时隐藏状态栏,代码如下:

 let imagePickerController = UIImagePickerController()

 ... 

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

然后在UIImagePickerControllerDelegatedidFinishPickingMediaWithInfo方法中,我展示了状态栏,并且它起作用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接