ios - cameraOverlayView 阻止使用 allowEditing 进行编辑

标签 ios camera uiimagepickercontroller editing camera-overlay

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

[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/

相关文章:

iphone - AVFoundation 相机预览屏幕给出错误的缩放

iPhone 应用程序因未知错误而崩溃

iphone - UIImagePickerController 基于旋转的相机 View 叠加

ios - 我想在同一 View Controller 中显示更多照片

ios - Swift - 试图获取当前位置

ios - 试图在 UICollectionViewCells 上同时加载不同的网站,但是当我滚动时它们被复制了

ios - 使用 Phonegap 在 iOS 上的相机预览上叠加图像

ios - famo.us:从桌面网络浏览器模拟视差

ios - 选中的单元格图像将显示在 UITableView 中

android - 移动手机时的图像稳定 - Android