我是 Swift 新手,我尝试在横向模式(左和右)下实现相机应用程序。 我尝试了视频教程,相机应用程序基本上可以工作,但只能在纵向模式下(不是横向)。 如果我在项目中启用横向左+右(并且禁用纵向模式),相机看起来像这样:
我做错了什么?我找到了一些关于同一问题的帖子,但没有一个能帮助我解决问题。
最诚挚的问候
我尝试了像 CGAffineTransform(rotationAngle: -90) 这样的仿射变换,但这也不能解决问题。
import UIKit
import AVFoundation
class ViewController: UIViewController {
@IBOutlet weak var cameraView: UIView!
var captureSession: AVCaptureSession?
var videoPreviewLayer: AVCaptureVideoPreviewLayer?
var backCamera = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back)
override func viewDidLoad() {
super.viewDidLoad()
if #available(iOS 10.2, *)
{
let captureDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back)
do
{
let input = try AVCaptureDeviceInput(device: captureDevice!)
captureSession = AVCaptureSession()
captureSession?.addInput(input)
videoPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession!)
videoPreviewLayer?.frame = view.layer.bounds
cameraView.layer.addSublayer(videoPreviewLayer!)
captureSession?.startRunning()
}
catch
{
print("error")
}
}
}
最佳答案
试试这个:
private var previewLayer: AVCaptureVideoPreviewLayer?
previewLayer?.connection?.videoOrientation = .landscapeLeft
previewLayer?.connection?.videoOrientation = .portrait
关于Swift 相机应用程序 - 启用横向模式右/左,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58693530/