所以我试图强迫用户使用UIImagePickerController以横向模式录制视频。
一个好方法是根据方向切换showsCameraControls,因为UIImagePickerController必须以纵向运行。
- (void) orientationChanged:(NSNotification *)notification {
[self showControls];
}
- (void) showControls {
UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
if (UIDeviceOrientationIsLandscape(deviceOrientation)) {
pickerController.showsCameraControls = YES;
} else if (UIDeviceOrientationIsPortrait(deviceOrientation)) {
pickerController.showsCameraControls = NO;
}
}
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
[self showControls];
这很好用。但是,当设备旋转时,相机控件不合适。
这里唯一的解决方案是使用AVFoundation而不是UIImagePickerController吗?
景观和控制不合适。
肖像,没有控件就像我们想要的那样。
答案 0 :(得分:0)
如果您转到CDVCamera.m
文件并在@implementation CDVCameraPicker
和@end
之间添加此2种方法,则会强制视频以横向方式录制
- (BOOL)shouldAutorotate {
return YES;
}
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}