Добавление UIPinchGestureRecognizer в UIImagePickerController

Я пытаюсь добавить UIPinchGestureRecognizer в UIImagePickerController для увеличения или уменьшения масштаба передней камеры, но не смог вызвать метод внутри UIPinchGestureRecognizer (handlePinchWithGestureRecognizer). Я не получил никакой ошибки, но также не получил никакого взаимодействия.

Вот код, который я использую в viewDidAppear:

_imagePicker = [[UIImagePickerController alloc] init];
_imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
_imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
_imagePicker.allowsEditing = YES;
_imagePicker.showsCameraControls = NO;
_imagePicker.navigationBarHidden = YES;
_imagePicker.view.userInteractionEnabled = YES;
_imagePicker.view.multipleTouchEnabled = YES;
_imagePicker.delegate = self;

 UIPinchGestureRecognizer *pinchGestureRecognizer = pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinchWithGestureRecognizer:)];


[_imagePicker.view addGestureRecognizer:pinchGestureRecognizer];

[self presentViewController:_imagePicker animated:NO completion:nil];

1 ответ

Решение

Прежде всего, я бы не стал добавлять средства распознавания жестов в представления контроллеров представления UIKit, которые не предназначены для подклассов. Вы не знаете наверняка, что там происходит, и как ваш распознаватель может мешать стандартным функциям представления.

Во-вторых, я попытался увеличить фронтальную камеру на моем iPhone, но это невозможно.

Если вы хотите получить видео с фронтальной камеры и увеличить его, вам нужно будет внедрить собственный контроллер, который принимает видеосеанс с фронтальной камеры и выполняет преобразования для масштабирования и т. Д.

Другие вопросы по тегам