2012-04-16 76 views
8

编辑相片它被服用后(移动和缩放它)在我的应用程序正常工作与这一行:cameraOverlayView防止编辑与allowsEditing

[imagePicker setAllowsEditing:YES]; 

但是,如果我还使用了cameraOverlayView,编辑模式没有按”工作了。屏幕出现,但平底锅和捏手势不会使任何事情发生。

我使用的是一般的图片选择器:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 

而且我添加了一个摄像头的覆盖角度,从自定义视图控制器的视图中创建:

CameraOverlayViewController *overlayController = [[CameraOverlayViewController alloc] init]; 
UIView *overlayView = overlayController.view; 
[imagePicker setCameraOverlayView:overlayView]; 

在IB,这种观点是设置为启用用户交互和多点触摸,这使得它可以在拍摄照片时进行缩放和聚焦。但是一旦拍摄照片并进入编辑模式,您将无法平移或缩小以移动或缩放照片。

我错过了什么?

+0

我在这里看到相同的问题。并且音量控制(快门)按钮在使用叠加层后无法使用 – tom 2012-04-19 21:44:55

+0

使用Billy的惊人技巧或http://stackoverflow.com/questions/17942444/uiimagepicker-cameraoverlayview-appears-on-retake-screen – Fattie 2014-02-19 16:34:36

回答

32

您的覆盖图是否占据了相机视图的整个空间?如果是这样,即使您有透明背景,触摸也会覆盖而不是下面的视图。

将此方法添加到叠加视图,它将忽略触摸,以便将它们传递到下面的视图。 (你正在重写UIView的检测触摸的方法。)

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event 
{ 
    return NO; 
} 

注:还有那梦幻般的提示,你也可能要使用此一块信息,删除您的覆盖图,在该阶段:UIImagePicker cameraOverlayView appears on Retake screen

+0

正是我所期待的。谢谢。 – 2012-05-08 01:18:17

+0

谢谢。我不再在这个功能上工作,所以我没有在我自己的应用上测试过,但我认为它是笨拙的。对不起,我早点错过了! – 2012-06-20 13:27:07

+0

谢谢,它帮了我很多... – 2013-03-01 07:15:06