如何创建识别滑动手势的相机叠加视图?

时间:2013-07-24 07:59:30

标签: uiimagepickercontroller avcapturesession camera-overlay

我正在尝试创建一个可以识别滑动手势以推送到其他视图的相机叠加层。

我想知道我是否仍然可以使用UIImagePicker或者我是否必须使用AVCaptureSessionManager。

另外我更喜欢在故事板中创建叠加视图有没有办法做到这一点? 我可以在故事板控制器中选择一个视图作为相机覆盖,只需在视图上显示UIImagePicker吗?

1 个答案:

答案 0 :(得分:1)

我从未使用Storyboard创建相机叠加层,但我创建了一个工作正常的xib。您可以使用普通(xib)方式创建叠加viewController,并使用手势识别器,然后您可以直接在该VC中处理它们或使用委托(很可能是呈现相机的VC)。

一些代码 -

-(void)setupCamera
{
    self.picker = [[UIImagePickerController alloc] init];

    _picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    _picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;

    self.overlay = [[OverlayViewController alloc] init];
    _overlay.delegate = self;

    _picker.cameraOverlayView = _overlay.view;
    _picker.delegate = self;

    [self presentViewController:self.picker animated:YES completion:nil];
}

叠加层 -

-(id)init
{
    self = [super initWithNibName:@"OverlayViewController" bundle:nil];

    if (self)
    {
        // set up stuff
    }
    return self;
}

...&一些处理滑动的代码 -

-(IBAction)swipe:(UISwipeGestureRecognizer *)sender
{
    // swipe stuff
    [self.delegate doSwipeStuff]; // if you want the delegate to handle it
}

希望这有帮助。