8

在拍摄后编辑照片(移动和缩放它)在我的应用程序中使用这条线可以正常工作:

[imagePicker setAllowsEditing:YES];

但是如果我也使用cameraOverlayView,编辑模式就不再起作用了。屏幕出现了,但平移和捏合手势不会发生任何事情。

我正在使用您的普通图像选择器控制器:

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

我添加了一个从自定义视图控制器的视图创建的相机覆盖视图:

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

在 IB 中,该视图设置为启用用户交互和多点触控,这允许它在拍照时进行缩放和聚焦。但是,一旦拍摄照片并进入编辑模式,您就无法平移或捏合来移动或缩放照片。

我错过了什么?

4

1 回答 1

32

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

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

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

注意:除了那个奇妙的提示,您可能还想使用这条信息来删除您的覆盖视图,在那个阶段:UIImagePicker cameraOverlayView 出现在 Retake 屏幕上

于 2012-04-24T14:34:36.610 回答