在拍摄后编辑照片(移动和缩放)在我的应用程序中使用此行可以正常工作:
[imagePicker setAllowsEditing:YES];
但如果我也使用 cameraOverlayView,编辑模式将不再起作用。屏幕出现,但平移和捏合手势不会使任何事情发生。
我正在使用您的普通图像选择器 Controller :
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
然后我添加了一个相机叠加 View ,它是从自定义 View Controller 的 View 创建的:
CameraOverlayViewController *overlayController = [[CameraOverlayViewController alloc] init];
UIView *overlayView = overlayController.view;
[imagePicker setCameraOverlayView:overlayView];
在 IB 中,该 View 设置为支持用户交互和多点触控,这允许它在拍照时缩放和对焦。但是一旦拍照并进入编辑模式,您就无法通过平移或捏合来移动或缩放照片。
我错过了什么?
最佳答案
您的叠加层是否占据了相机 View 的整个空间?如果是这样,即使您有透明背景,触摸也会到达叠加层而不是下面的 View 。
将此方法添加到您的覆盖 View ,它将忽略触摸,以便将它们传递到下面的 View 。 (您正在覆盖检测触摸的 UIView 方法。)
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
return NO;
}
注意:除了那个很棒的提示,您可能还想使用这条信息,在那个阶段删除叠加 View :UIImagePicker cameraOverlayView appears on Retake screen
关于ios - cameraOverlayView 阻止使用 allowEditing 进行编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10178214/