0

在我的应用程序中,我需要一个相机叠加层来帮助用户正确排列图片以用于预期用途。此外,我需要有编辑界面让他们微调缩放和对齐这个“指南”。我已经让相机叠加层与默认的相机控件一起使用(除非您使用默认控件,否则编辑窗格甚至不会显示),但是现在在编辑屏幕上,我无法缩放/平移。触摸事件似乎发生在覆盖层上,而不是编辑屏幕上。我知道/知道这是一个潜在问题,并已实施此处提到的修复

这允许专注于相机屏幕本身,您可以在叠加层中看到触摸正在通过/忽略,但在编辑屏幕上这仍然不起作用。我还尝试了一些在这里找到的最热门的代码

每当“UIViewController”的 No visible @interface 在超行上声明选择器“hitTest:withEvent:”时,该解决方案都会给我一个错误。

我还尝试了使用 userInteractionEnabled 属性进行的各种设置

这是我用来做覆盖的代码:

self.picker = [[UIImagePickerController alloc] init];
self.picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self.picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self.picker.showsCameraControls = YES;
self.picker.navigationBarHidden = YES;
self.picker.toolbarHidden = YES;
self.picker.wantsFullScreenLayout = YES;
self.picker.allowsEditing = YES;
self.picker.view.userInteractionEnabled = YES;

// Insert the overlay
self.overlay = [[OverlayViewController alloc] initWithNibName:@"OverlayViewController" bundle:nil];
self.overlay.pickerReference = self.picker;

self.picker.cameraOverlayView = self.overlay.view;
[self.picker.cameraOverlayView setUserInteractionEnabled:YES];
//[self.picker.cameraOverlayView setUserInteractionEnabled:FALSE];
self.picker.delegate = self.overlay;

// [self performSelector:@selector(moveOverlayViewToSublayer:) withObject:self.picker afterDelay:0.1f];

[self presentModalViewController:self.picker animated:NO];
4

1 回答 1

0

我无法使用 xib 文件让自定义叠加层正常工作,最终只是在代码中创建了叠加层视图。

有一些关于如何在网络上实现这一点的例子:

http://www.musicalgeometry.com/?p=821

https://developer.apple.com/library/ios/#samplecode/PhotoPicker/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010196

于 2013-03-22T16:07:47.863 回答