在我的应用程序中,使用以下行在拍摄照片后对其进行编辑(移动和缩放)效果很好:
[imagePicker setAllowsEditing:YES];
但如果我还使用cameraOverlayView,则编辑模式将不再起作用。屏幕出现,但平移和捏合手势不会发生任何事情。
我正在使用普通的图像选择器控制器:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
我添加了一个相机覆盖视图,该视图是从自定义视图控制器的视图创建的:
CameraOverlayViewController *overlayController = [[CameraOverlayViewController alloc] init];
UIView *overlayView = overlayController.view;
[imagePicker setCameraOverlayView:overlayView];
在 IB 中,该视图被设置为支持用户交互和多点触摸,从而允许在拍照时进行缩放和对焦。但是,一旦拍摄照片并进入编辑模式,您就无法平移或捏合来移动或缩放照片。
我缺少什么?
您的叠加层是否占据了相机视图的整个空间?如果是这样,即使您有透明背景,触摸也会到达覆盖层而不是下面的视图。
将此方法添加到您的覆盖视图中,它将忽略触摸,以便将它们传递到下面的视图。 (您正在重写 UIView 检测触摸的方法。)
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
return NO;
}
注意:除了那个很棒的提示之外,您可能还想使用这条信息,在该阶段删除您的覆盖视图:UIImagePickercameraOverlayView 出现在重拍屏幕上 https://stackoverflow.com/questions/17942444/uiimagepicker-cameraoverlayview-appears-on-retake-screen
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)