gpt4 book ai didi

ios - 如何使用新 API willAnimateRotationToInterfaceOrientation 修复 iOS 方向

转载 作者:行者123 更新时间:2023-11-30 11:32:12 27 4
gpt4 key购买 nike

我想从已弃用的 API 更新我的应用程序

从这个开始

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration {
// Camera rotation needs to be manually set when rotation changes.
if (self.previewLayer) {
if (toInterfaceOrientation == UIInterfaceOrientationPortrait) {
self.previewLayer.connection.videoOrientation = AVCaptureVideoOrientationPortrait;
} else if (toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
self.previewLayer.connection.videoOrientation = AVCaptureVideoOrientationPortraitUpsideDown;
} else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
self.previewLayer.connection.videoOrientation = AVCaptureVideoOrientationLandscapeLeft;
} else if (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
self.previewLayer.connection.videoOrientation = AVCaptureVideoOrientationLandscapeRight;
}
}
self.dataOutput.previewFrameSize = self.previewLayer.frame.size;
}

到这个

- (void)viewWillTransitionToSize:(CGSize)size
withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator{
// CODES HERE
}

此更改的目的是保持相机的旋转、方向不变。 (我正在使用 EAGL 和手动 AVFoundation 实时摄像头显示)。

AV 连接仍然使用“方向”,但新 API 没有提供这些功能。无论如何将其翻译成???谢谢

(也欢迎 Swift 代码,我的旧项目是用 obj-c 编写的,但是我可以阅读 swift)

最佳答案

我会选择两者之一:

- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection 
withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator;
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection;

这里你得到一个UITraitCollection,它有(除其他外)两个属性:horizo​​ntalSizeClassverticalSizeClass。这些尺寸类别可以有一个值 UIUserInterfaceSizeClassCompactUIUserInterfaceSizeClassRegular

根据您的设备,在 iPhone 上,紧凑/常规 表示纵向,紧凑/紧凑 表示横向。

参见UITraitCollection了解更多详情。

关于ios - 如何使用新 API willAnimateRotationToInterfaceOrientation 修复 iOS 方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50147258/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com