1

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

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

另外我更喜欢在故事板中创建覆盖视图有没有办法做到这一点?我可以在情节提要控制器中选择一个视图作为相机叠加层,然后简单地在视图上显示 UIImagePicker 是否加载?

4

1 回答 1

1

我从未使用 Storyboard 来创建相机叠加层,但我创建了一个运行良好的 xib。您可以以正常(xib)方式创建覆盖视图控制器,并使用手势识别器完成,然后您可以直接在该 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
}

希望这可以帮助。

于 2013-07-24T08:36:31.690 回答