0
私はUIViewController内にUIViewを持っており、UIViewはAVCaptureSessionを使用して写真をキャプチャするために使用されます。回転後にビューを正しく表示する
私はこのコードを書いたので、デバイスを回転させたときにUIViewが回転しないようにしました。ポートレートモードで
-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
CGAffineTransform deltaTransform = coordinator.targetTransform;
CGFloat deltaAngle = atan2f(deltaTransform.b, deltaTransform.a);
CGFloat currentRotation = [[self.camera.layer valueForKeyPath:@"transform.rotation.z"] floatValue];
currentRotation += -1 * deltaAngle + 0.0001;
[self.camera.layer setValue:@(currentRotation) forKeyPath:@"transform.rotation.z"];
}
completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {
CGAffineTransform currentTransform = self.camera.transform;
currentTransform.a = round(currentTransform.a);
currentTransform.b = round(currentTransform.b);
currentTransform.c = round(currentTransform.c);
currentTransform.d = round(currentTransform.d);
}];
}
私は私のカメラのUIViewは回転が私のカメラのUIView上の任意の効果を持っていないと、他のUIViewsがスムーズに回転し、しかし、問題は、ランドスケープモードに回転にある回転したときに私のUIViewのは、フルスクリーンを開きますフルスクリーンではなく、画面上でランダムなサイズを取る、何が間違っている?
注:私はそれがz軸上で回転されなかったかのようにカメラビューをストーリーボード
自動レイアウトを無効にしましたか? – atulkhatri
自動レイアウトを無効にできませんキャプチャボタンがある他のUIViewが必要になるフラッシュボタンが適切に回転するようにする –