#ios #swift #xcode
#iOS #swift #xcode
Вопрос:
Я просмотрел много документации. Я вообще не могу найти ответ.
Каждый раз, когда я поворачиваю свою камеру, мой пользовательский интерфейс, очевидно, поворачивается, но затем моя камера остается с этим поворотом.
Как будто координаты по-прежнему локальные, а не направлены на глобальный север.
Что еще я могу посмотреть?
import UIKit
import AVFoundation
class scannerViewController: UIViewController {
var session : AVCaptureSession!
var input : AVCaptureInput!
var previewLayer : AVCaptureVideoPreviewLayer!
var camera : AVCaptureDevice!
@IBOutlet weak var cameraPreview: UIView!
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
session = AVCaptureSession()
camera = AVCaptureDevice.default(for: AVMediaType.video)
input = try? AVCaptureDeviceInput(device: camera!)
session.addInput(input)
previewLayer = AVCaptureVideoPreviewLayer(session: session)
cameraPreview.layer.addSublayer(previewLayer)
DispatchQueue.global(qos: .userInitiated).async {
self.session.startRunning()
DispatchQueue.main.async {
self.previewLayer.frame = self.cameraPreview.bounds
}
}
}
}
Комментарии:
1. Попробуйте установить AVCaptureVideoOrientation
2. когда я читаю developer.apple.com/documentation/avfoundation / … , и developer.apple.com/documentation/avfoundation / … …. в нем говорится, что это перечисление …. которое я прочитал в документах по swift, и я считаю, что это не неизменяемый объект, поэтому я могу его изменить …. также, если я просто наберу AVCaptureVideoOrientation.portrait, я почти уверен, что это ничего не значит
3. как мне настроить AVCaptureVideoOrientation
4. Вы устанавливаете это на своем
previewLayer.connection
.if let connection = previewLayer.connection { connection.videoOrientation = ... }
5. я внимательно читаю эти страницы документа, мне кажется, или они не очень хороши… я что-то упускаю, откуда бы я это знал