首页 > 解决方案 > 从另一个类调用 Barcodescanner,无法检索数据?

问题描述

我正在尝试使用放置在“NewViewController”中的按钮从“Partynallen”类打开条形码扫描仪。我可以让条形码打开和扫描东西,但是图像冻结并且没有结果通过。我可能做错了什么?

感谢提供的任何帮助,在此先感谢。

import AVFoundation
import QRCodeReader
import Alamofire


class Partynallen: UIViewController, QRCodeReaderViewControllerDelegate {

    lazy var readerVC: QRCodeReaderViewController = {
    let builder = QRCodeReaderViewControllerBuilder {
    //change object to scan and the initial position of the camera
        $0.reader = QRCodeReader(metadataObjectTypes: [.qr, .ean13], captureDevicePosition: .back)
    // Configure the view controller (optional)
    $0.showTorchButton = true
    $0.showSwitchCameraButton = false
    $0.showCancelButton = true
    $0.showOverlayView = true //shows the square area of the QRCode Scanner
        $0.rectOfInterest = CGRect(x: 0, y: 0, width: 1, height: 1)
    }
    return QRCodeReaderViewController(builder: builder)
    }()
    
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        readerVC.delegate = self
    }
    
    func reader(_ reader: QRCodeReaderViewController, didScanResult result: QRCodeReaderResult) {
    //code to be added
        reader.stopScanning()
        //print(result)
        //print(result.value)
        //barcode = result.value
       //Apifetch(code: "URL")
        dismiss(animated: true, completion: nil)
    }

    func readerDidCancel(_ reader: QRCodeReaderViewController) {
    //code to be added
        reader.stopScanning()
        dismiss(animated: true, completion: nil)
    }
    
}



class NewViewController: UIViewController {
    
    let partynallen= Partynallen()


    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        partynallen.readerVC.delegate = partynallen.self // DONT KNOW IF THIS IS CORRECT?
    }



        @IBAction func scan(_ sender: UIButton) {

            partynallen.readerVC.modalPresentationStyle = .formSheet
            present(partynallen.readerVC, animated: true)
    }
    
    
}

标签: iosswiftiphonexcode

解决方案


推荐阅读