Мне нужно иметь горизонтальный вход видеокамеры с наложением изображений (которые не записаны).Горизонтальная камера с наложением
Проблема в том, что при активном режиме вид камеры поворачивается на 90 градусов, хотя все остальное правильно ориентировано горизонтально.
UIImagePicker не может выполнять горизонтальную ориентацию, и у меня возникли проблемы с использованием AVCapture с графическими оверлеями. Поэтому я использую пользовательский вид и поворачиваю его.
камеры Init
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
//Custom View Instead of UIImagePicker
_video_picker = [[VCImagePickerController alloc] init];
_video_picker.delegate = self;
_video_picker.allowsEditing = YES;
_video_picker.sourceType = UIImagePickerControllerSourceTypeCamera;
_video_picker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
_video_picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil];
_video_picker.showsCameraControls = NO;
//Set the orientation
_video_picker.modalPresentationStyle = UIModalPresentationCurrentContext;
//Display overlay graphics
_video_picker.cameraOverlayView = _overVW ;
[self.navigationController presentViewController:_video_picker animated:NO completion:nil];
Тогда в настраиваемое представление VCImagePickerController, маска устанавливается:
- (BOOL)shouldAutorotate
{
return YES;
}
-(UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeRight;
}
Когда камера находится в горизонтальном режиме, это как оказанной зрения рассинхронизирован , Появится маска, но фактическое изображение камеры неверно. Когда я перемещаю камеру вправо, она опускается, как будто ориентация повернута. Использование iPhone 6 с iOS 9.2.1.