iPad:示例项目AVCapture:如何针对不同方向旋转视频预览?
答案 0 :(得分:1)
如果你想采取简单的方法,除了UIInterfaceOrientation之外不要支持任何方向,并且图像将被正确显示。
否则,您必须将翻译应用于willAnimateRotationToInterfaceOrientation:duration:
方法中与界面方向相反的预览图层。例如,UIInterfaceOrientationLandscapeLeft是(IIRC)顺时针旋转90°。因此,对预览图层应用90°逆时针旋转以进行补偿。
答案 1 :(得分:0)
这就是我使用的:
- (void)willAnimateRotationToInterfaceOrientation: (UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
[CATransaction begin];
self.prevLayer.orientation = toInterfaceOrientation; //AVCaptureVideoPreviewLayer
self.prevLayer.frame = self.view.frame;
[CATransaction commit];
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
}