QR扫描按钮仅按下

时间:2016-11-18 15:48:50

标签: swift uibutton qr-code

我使用的代码类似于以下问题中显示的代码:How to scan for QR codes on button press?。 我现在可以让相机预览始终处于活动状态,只有在按下按钮时才会扫描。 我的问题是,我发现如果我(意外地)按下按钮然后专注于QR码,阅读器将自动扫描它看到的下一个QR码。 有什么方法可以解释任何意外的按键按下,只有当我有一个在视图中时才扫描QR码吗?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

经过大量的努力,我终于找到了解决方案......

我基本上创建了一个按钮,如果检测到QR码,它将显示在我的相机预览上。默认情况下,此按钮将被隐藏:

scanButton.isHidden = true

然后使用以下代码仅在找到QR码时显示按钮。这与代码结合使用,以便在找到QR码时突出显示。

if metadataObj.stringValue != nil {
            scanButton.isHidden = false
            view.bringSubview(toFront: scanButton)
            data = metadataObj.stringValue
        }

scanButton的操作是:

@IBAction func scanQRButton(_ sender: UIButton) {
    print("Scanned QR: " + (data))
    captureSession?.stopRunning()
}

然后我将添加一个segue函数将这些数据传递给另一个可以使用它的视图控制器。

希望这是有道理的,并帮助别人避免我所做的所有头痛!