拍摄后拍摄的照片(移动和缩放)在我的应用程序中使用此行正常工作:
[imagePicker setAllowsEditing:YES];
但如果我也使用cameraOverlayView,则编辑模式不再起作用。屏幕出现,但是平移和捏合手势不会发生任何事情。
我正在使用你的普通图像选择器控制器:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
我添加了一个从自定义视图控制器视图创建的相机覆盖视图:
CameraOverlayViewController *overlayController = [[CameraOverlayViewController alloc] init];
UIView *overlayView = overlayController.view;
[imagePicker setCameraOverlayView:overlayView];
在IB中,该视图设置为启用用户交互和多次触摸,这使其可以在拍摄照片时进行缩放和聚焦。但是一旦拍摄完照片并进入编辑模式,就无法平移或捏合移动或缩放照片。
我错过了什么?
答案 0 :(得分:32)
您的叠加层会占用摄像机视图的整个空间吗?如果是这样,即使您有透明背景,触摸也会转到叠加而不是下面的视图。
将此方法添加到叠加层视图中,它将忽略触摸,以便将它们传递到下面的视图。 (你正在重写一种检测触摸的UIView方法。)
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
return NO;
}
注意:除了精彩的提示之外,您可能还想在此阶段使用此信息来删除叠加视图:UIImagePicker cameraOverlayView appears on Retake screen