1. ホーム
  2. ios

iOS 8で非推奨となった "interfaceOrientation "を変更する方法 Objective C

2023-11-18 18:03:57

質問

Cocoa Controlsから、このメソッドを使用するsimpleCameraビューをダウンロードしました。

- (AVCaptureVideoOrientation)orientationForConnection
{
    AVCaptureVideoOrientation videoOrientation = AVCaptureVideoOrientationPortrait;
    switch (self.interfaceOrientation) {
        case UIInterfaceOrientationLandscapeLeft:
            videoOrientation = AVCaptureVideoOrientationLandscapeLeft;
            break;
        case UIInterfaceOrientationLandscapeRight:
            videoOrientation = AVCaptureVideoOrientationLandscapeRight;
            break;
        case UIInterfaceOrientationPortraitUpsideDown:
            videoOrientation = AVCaptureVideoOrientationPortraitUpsideDown;
            break;
        default:
            videoOrientation = AVCaptureVideoOrientationPortrait;
            break;
    }
    return videoOrientation;
}

iOS 8で廃止されたinterfaceOrientationが問題なのですが、Switchでは何をどう置き換えたらいいのかわかりません。

どのように解決するのでしょうか?

デバイスの向きの取得が正しくありません。 例えば、デバイスが横向きでも、縦向きしかサポートしていないビューコントローラでは縦向きのままになってしまいます。

代わりに、これを使用します。

[[UIApplication sharedApplication] statusBarOrientation]

もう一つの利点は、UIInterfaceOrientation 列挙型をまだ使用しているため、コードのほとんどを変更する必要がないことです。