1

Я пытаюсь создать накладку камеры, которая может распознавать жесты салфетки для нажатия на другие виды.Как создать накладной вид камеры, который распознал жесты пальцев?

Мне интересно, могу ли я использовать UIImagePicker, или если мне нужно использовать AVCaptureSessionManager.

Также я бы предпочел создать оверлейный вид в доске объявлений, есть ли способ сделать это? Могу ли я выбрать вид внутри контроллера раскадровки, будь то наложение на камеру и просто представить изображение UIImagePicker на экране?

ответ

1

Я никогда не использовал раскадровку для создания наложения камеры, но я создал xib, который отлично работает. Вы можете создать оверлей viewController обычным способом (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 
} 

Надеется, что это помогает.

+0

благодарит за помощь! Однако мне сложно установить делегата OverlayViewController. До сих пор я был OverlayViewController с файлом .xib, содержащим распознаватель жестов и кнопкой take_photo. Однако, когда я setupCamera на моем CameraViewController, я не могу назначить делегата OverlayViewController текущим CameraViewController, который будет отвечать на кнопку take_photo/gesture_swipe. Я получаю сообщение об ошибке: Property delegate не найден на OverlayViewController ... – Santiago

+0

Похоже, вам нужно кое-что прочитать об использовании делегатов - это очень важно для многих вещей (говоря, что многие новые фреймворки используют блоки вместо этого делегаты по-прежнему играют очень важную роль) - посмотрите учебник Рэя Вендерлиха - http://www.raywenderlich.com/forums/viewtopic.php?f=10&t=3265 – SomaMan

Смежные вопросы