Как мы можем заставить контроллер UIImagePickerController записывать видео только в ландшафтном режиме?
Я знаю, что этот класс должен использоваться для портретной записи, но мне нужно иметь его в ландшафте.
Нашли несколько похожих вопросов, но нет никакого решения, которое работает для меня (iOS 6.1).
Например, наблюдение ориентации устройства не работает для меня (этот ответ qaru.site/info/97918/...)
Если я реализую категорию UIImagePickerController, например следующее:
#import "UIImagePickerController+NonRotating.h"
@implementation UIImagePickerController (NonRotating)
- (BOOL)shouldAutorotate
{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeRight;
}
@end
он почти работает, но я вижу некоторое странное поведение некоторых элементов управления и неправильную ориентацию видео во время записи (результат видео в порядке).
1) Начать. Отмена и запись кнопки в правильных положениях, но другие элементы управления в неправильном. И видео поворачивается.
2) Запись. Таймер и видео ошибочны.
3) Запись завершена. все хорошо! и видео с результатами правильно.
Есть ли у вас какие-либо идеи?
UPDATE Мне нужно заблокировать экран в альбомной ориентации во время процесса записи.