小编bek*_*ks6的帖子

iOS Swift - 如何正确使用rectOfInterest(条形码扫描仪)

我有一个可以扫描条形码的iOS应用程序.

现在我想定义一个特定的扫描区域.为此我正在使用rectOfInterest属性和metadataOutputRectOfInterest方法.

我面临的问题

当我只使用下面的代码时,如果我删除barcodeAreaView扫描在整个显示器上工作正常,则不会扫描任何内容

class BarcodeReaderViewController: UIViewController, AVCaptureMetadataOutputObjectsDelegate {

    // Camera view
    var cameraView: AVCaptureVideoPreviewLayer?
    // AV capture session and dispatch queue
    let captureSession = AVCaptureSession()
    let sessionQueue = DispatchQueue(label: AVCaptureSession.self.description(), attributes: [], target: nil)
    var barcodeAreaView: UIView?

    let supportedCodeTypes = [
        AVMetadataObjectTypeEAN8Code,
        AVMetadataObjectTypeEAN13Code,
        AVMetadataObjectTypeUPCECode,
        AVMetadataObjectTypeCode39Code,
        AVMetadataObjectTypeCode93Code,
        AVMetadataObjectTypeCode128Code,
        AVMetadataObjectTypeCode39Mod43Code,
        AVMetadataObjectTypeInterleaved2of5Code
    ]
    let metadataOutput = AVCaptureMetadataOutput()
    var barcodeArea:CGRect!

    override func viewDidLoad() {
        super.viewDidLoad()

        let width = 250
        let height = 100

        print(self.view.frame.size.width)

        let xPos = …
Run Code Online (Sandbox Code Playgroud)

iphone ios swift3 xcode8

11
推荐指数
0
解决办法
2457
查看次数

标签 统计

ios ×1

iphone ×1

swift3 ×1

xcode8 ×1