QR扫描按钮按下
问题描述:
我已经使用类似的代码来显示在下面的问题:How to scan for QR codes on button press?。 我现在可以始终激活相机预览,并且只能在按下按钮时才进行扫描。 我的问题是,我发现如果我(意外)在将焦点放在QR码之前按下按钮,阅读器将自动扫描它看到的下一个QR码。 有没有什么办法可以解决任何意外的按键操作,并且只有扫描QR代码时才能查看?QR扫描按钮按下
任何帮助将不胜感激!
答
很多头部划伤后,我终于研究出了解决办法...
我基本上创建了一个将出现在我的相机预览应该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函数来将该数据传递到另一个视图控制器在哪里可以使用它。
希望这是有道理的,并帮助别人避免我所做的所有头部划伤!