如何在混合应用程序中移动这个有问题的本机裁剪框?

Jos*_*eam 12 javascript android ios cordova ionic-framework

我们有一个$cordovaCamera像这样访问的Ionic应用程序:

$cordovaCamera.getPicture({ allowEdit: true });
Run Code Online (Sandbox Code Playgroud)

传递了更多选项等,但上面只是表明我们正在传递allowEdit旗帜.如果有人不熟悉,这就是文档所说的内容:

allowEdit:允许在选择之前简单编辑图像.(布尔)

这非常有效.在我从图库中选择图片或拍照后,它会转到其原生的"编辑"视图,用户可以在该视图中裁剪图像.

这是流程:

Take Photo > Edit (crop) > Upload to the interwebs
Select Photo > Edit (crop) > Upload to the interwebs
Run Code Online (Sandbox Code Playgroud)

在Android上,您可以调整裁剪区域的大小并移动裁剪区域.

在iOS上,您无法移动裁剪区域(除非先放大),并且根本无法调整裁剪区域的大小.

这只是我们不得不忍受的iOS怪癖,还是有办法解决这个问题?这发生在iOS 8.3中.

屏幕截图即将推出

编辑

这是展示问题的视频.

0:16你会看到移动裁剪框是不可能的.(这种情况发生在配备iOS 8.2的iPod Touch上,但也出现在iOS 8.2和8.3的几款iPhone 6设备上).但是,Android上不会发生这种情况.因此,认为这是本机iOS问题而不是Ionic/Cordova问题似乎是合理的(或者,它可能与Ionic与iOS交互的方式存在问题).

0:22,您将在用户放大后进行操作,然后用户可以实际移动裁剪框.

另一个更新(这很重要)

只有在拍照时才会发生此错误.当您从库中选择现有照片时,裁剪工具按预期工作...

The*_*eSD 7

iOS有一个内置的裁剪工具,如果你启用allowsEditing你的UIImagePickerController

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setAllowsEditing:YES];
Run Code Online (Sandbox Code Playgroud)

如果你想要一个不同的裁剪工具,你将不得不自己创建或使用一个开源项目.

以下是一些项目: