首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cameraOverlayView禁止使用allowsEditing进行编辑

cameraOverlayView禁止使用allowsEditing进行编辑
EN

Stack Overflow用户
提问于 2012-04-17 00:43:57
回答 1查看 3.7K关注 0票数 8

在照片拍摄后编辑它(移动和缩放它)在我的应用程序中可以很好地使用这一行:

代码语言:javascript
复制
[imagePicker setAllowsEditing:YES];

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

我使用的是普通的图像拾取器控制器:

代码语言:javascript
复制
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];

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

代码语言:javascript
复制
CameraOverlayViewController *overlayController = [[CameraOverlayViewController alloc] init];
UIView *overlayView = overlayController.view;
[imagePicker setCameraOverlayView:overlayView];

在IB中,查看器被设置为支持用户交互和多点触摸,这允许它在拍摄照片时进行缩放和聚焦。但一旦照片拍摄完成并进入编辑模式,您就不能通过平移或收缩来移动或缩放照片。

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-24 22:34:37

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

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

代码语言:javascript
复制
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
    return NO;
}

注意:除了这个奇妙的技巧之外,在那个阶段,您可能还想使用以下信息来删除覆盖视图:UIImagePicker cameraOverlayView appears on Retake screen

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10178214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档