我从使用此方法的Cocoa控件下载了一个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;
}

问题是iOS8中不推荐使用"interfaceOrientation",但我不知道在切换情况下应该用什么以及如何替换它.

推荐答案

获取设备方向不正确.例如,设备可能处于横向模式,但仅支持纵向的视图控制器将保持纵向.

相反,请使用以下命令:

[[UIApplication sharedApplication] statusBarOrientation]

另一个好处是它仍然使用UIInterfaceOrientation枚举,因此几乎不需要更改代码.

Ios相关问答推荐

我如何确保用户继续他们在应用程序中停止的地方?

如何使视图完全适合屏幕,而不会在旋转时溢出手机屏幕的边界?

SwiftUI@Observable不跟踪父类属性中的更改以更新视图

UITableViewCell编程约束问题

Xcode 15阻止我的应用程序运行:由于实时模式录制的高比率,丢失了1条日志(log)/路标消息?

如何创建装饰视图?

为什么 Firebase Messaging 配置对于 IOS native 和 Flutter iOS 不同?

NavigationLink 只能在文本部分点击

如何使用 pushViewController 从 UIHostingController 的 SwiftUI 视图中推送 ViewController?

使用 SwiftUI 显示多个 VNRecognizedObjectObservation 边界框时偏移量错误

SwiftUI - 如何从主题感知命名 colored颜色 中获取正确的 RGB 值?

SwiftUI withAnimation 在视图出现之前不会启动

判断Apple LiveText是否可用?

如何将 ImageView 放置在 UIView 的中心?

如何将私钥添加到分发证书?

使用 AVAudioPlayer 播放声音

从 NSData 或 UIImage 中查找图像类型

Swift 将 unix 时间转换为日期和时间

iOS:设备旋转后如何运行函数(Swift)

将 struct 保存到 UserDefaults