Support some form of rotation.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
74ad02132a
commit
7c608cc3be
|
@ -67,6 +67,38 @@ class QRScanViewController: UIViewController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override func viewDidLayoutSubviews() {
|
||||||
|
super.viewDidLayoutSubviews()
|
||||||
|
|
||||||
|
if let connection = previewLayer.connection {
|
||||||
|
|
||||||
|
let currentDevice: UIDevice = UIDevice.current
|
||||||
|
|
||||||
|
let orientation: UIDeviceOrientation = currentDevice.orientation
|
||||||
|
|
||||||
|
let previewLayerConnection: AVCaptureConnection = connection
|
||||||
|
|
||||||
|
if previewLayerConnection.isVideoOrientationSupported {
|
||||||
|
|
||||||
|
switch orientation {
|
||||||
|
case .portrait:
|
||||||
|
previewLayerConnection.videoOrientation = .portrait
|
||||||
|
case .landscapeRight:
|
||||||
|
previewLayerConnection.videoOrientation = .landscapeLeft
|
||||||
|
case .landscapeLeft:
|
||||||
|
previewLayerConnection.videoOrientation = .landscapeRight
|
||||||
|
case .portraitUpsideDown:
|
||||||
|
previewLayerConnection.videoOrientation = .portraitUpsideDown
|
||||||
|
default:
|
||||||
|
previewLayerConnection.videoOrientation = .portrait
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
previewLayer.frame = self.view.bounds
|
||||||
|
}
|
||||||
|
|
||||||
func scanDidComplete(withCode code: String) {
|
func scanDidComplete(withCode code: String) {
|
||||||
do {
|
do {
|
||||||
let tunnel = try Tunnel.fromConfig(code, context: viewContext)
|
let tunnel = try Tunnel.fromConfig(code, context: viewContext)
|
||||||
|
|
Loading…
Reference in New Issue