瀏覽代碼

start/stop capturing according to visibility of QRCodeScanner UI, callback successful scan

cyberta 6 年之前
父節點
當前提交
e898e3605e
共有 1 個文件被更改,包括 8 次插入7 次删除
  1. 8 7
      deltachat-ios/Controller/QrCodeReaderController.swift

+ 8 - 7
deltachat-ios/Controller/QrCodeReaderController.swift

@@ -45,6 +45,13 @@ class QrCodeReaderController: UIViewController {
 
     }
 
+	override func viewWillAppear(_ animated: Bool) {
+		captureSession.startRunning()
+	}
+	override func viewWillDisappear(_ animated: Bool) {
+		captureSession.stopRunning()
+	}
+
     override func didReceiveMemoryWarning() {
         super.didReceiveMemoryWarning()
         // Dispose of any resources that can be recreated.
@@ -57,14 +64,8 @@ extension QrCodeReaderController: AVCaptureMetadataOutputObjectsDelegate {
         let metadataObj = metadataObjects[0] as! AVMetadataMachineReadableCodeObject
 
         if supportedCodeTypes.contains(metadataObj.type) {
-			print("found qr code: " + metadataObj.stringValue!)
             if metadataObj.stringValue != nil {
-                DispatchQueue.main.async {
-                    self.captureSession.stopRunning()
-                    self.dismiss(animated: true) {
-                        self.delegate?.handleQrCode(metadataObj.stringValue!)
-                    }
-                }
+				self.delegate?.handleQrCode(metadataObj.stringValue!)
             }
         }
     }