Ios 如何使用[camera takePhoto]并使用UIImagePicker进行编辑-UIImagePickerController.AllowsEdit=YES

Ios 如何使用[camera takePhoto]并使用UIImagePicker进行编辑-UIImagePickerController.AllowsEdit=YES,ios,objective-c,camera,uiimagepickercontroller,photos,Ios,Objective C,Camera,Uiimagepickercontroller,Photos,我会觉得自己很笨,但我到处都找遍了,却找不到答案。我已经能够使用默认的相机控件打开“编辑”视图。但是我在上面加了一个覆盖层,我有一个UIButton连接到iAction拍照,看起来像[UIImagePickerController takePicture] 但是,它完全跳过了编辑部分,即使我将“允许编辑”设置为“是”。有其他命令调用它吗?现在,它直接进入didFinishPickingMediaWithInfo camera.sourceType = UIImagePickerContr

我会觉得自己很笨,但我到处都找遍了,却找不到答案。我已经能够使用默认的相机控件打开“编辑”视图。但是我在上面加了一个覆盖层,我有一个UIButton连接到iAction拍照,看起来像[UIImagePickerController takePicture]

但是,它完全跳过了编辑部分,即使我将“允许编辑”设置为“是”。有其他命令调用它吗?现在,它直接进入didFinishPickingMediaWithInfo

    camera.sourceType = UIImagePickerControllerSourceTypeCamera;
    camera.cameraDevice = UIImagePickerControllerCameraDeviceRear;
    camera.showsCameraControls = NO;
    camera.navigationBarHidden = YES;
    camera.toolbarHidden = YES;
    camera.wantsFullScreenLayout = NO;
    camera.allowsEditing = YES;
    camera.cameraOverlayView = overlay;
    [self presentViewController:camera animated:YES completion:nil];
然后在IBAction中

    [camera takePicture];
可能重复:

根据苹果文档中的takePicture:method:

将此方法与自定义覆盖视图结合使用,以启动静态图像的编程捕获。这支持在不离开界面的情况下拍摄多张照片,但需要隐藏默认图像选择器控件。

在捕获图像时调用此方法无效必须等到关联的代理对象收到imagePickerController:didFinishPickingMediaWithInfo:消息后,才能捕获另一张图片。

似乎这种方法(自定义覆盖)是为了自己管理而配置的。即使“AllowsEdit=YES”,拍摄的照片也将直接发送到imagePickerController:didFinishPickingMediaWithInfo:

基于此,如果我们想使用自定义用户界面编辑拍摄的照片,我们应该为此创建相应的自定义编辑屏幕。

供将来参考:

未显示编辑屏幕的问题与摄像头有关。showCameraControls=NO覆盖的存在与否与此无关(如当前接受的答案所述)

可能的解决方法:
在IBAction[camera takePicture]上,再次将其设置为“是”。它们将仅显示一小部分秒,这将允许显示编辑屏幕。然后在点击“Retake”时会出现问题,在这种情况下,您必须通过委托捕获该操作并将其再次隐藏在那里。

您可以将拍摄的代码放在那里吗?您是否使用这行代码UIImage*myImage=[info objectForKey:UIImagePickerControlleredItemImage];在代理方法中..?是的,我是,但我想要编辑的照片(裁剪的方形照片)。但是,在我用叠加按钮拍照后,屏幕上不会出现裁剪屏幕。但是,如果我只是从照片库中选择一张照片,而不是在拍照时。我认为您的裁剪照片保存不正确…请输入一些代码,然后我可以检查..@MuditBajpai这就是问题所在,UIPickerController甚至没有将我带到裁剪照片(编辑)屏幕。即使我将“编辑”设置为“是”,它也不允许我对其进行编辑。裁剪矩形位于中心,如何裁剪图像的顶部方形instead@Happiehappie你可能想为这个问题创建一个不同的问题条目,我相信你会找到可以帮助你的人。