Swift Camera App - 左右启用横向模式
Posted
技术标签:
【中文标题】Swift Camera App - 左右启用横向模式【英文标题】:Swift Camera App - enable landscape mode right / left 【发布时间】:2019-11-04 12:31:57 【问题描述】:我是 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")
【问题讨论】:
【参考方案1】:试试这个:
private var previewLayer: AVCaptureVideoPreviewLayer?
previewLayer?.connection?.videoOrientation = .landscapeLeft
previewLayer?.connection?.videoOrientation = .portrait
【讨论】:
以上是关于Swift Camera App - 左右启用横向模式的主要内容,如果未能解决你的问题,请参考以下文章
在 didFinish 函数 WKWebView 中启用横向
Android 11.0 修复Camera 启用后置摄像头在拍照界面下,白平衡按钮无法点击
Android 11.0 修复Camera预览照片时按键盘左右键,底部功能栏的焦点也同时变动