仅在按钮保持时扫描条形码

时间:2017-05-24 15:19:04

标签: ios swift avfoundation

我使用AVCaptureMetadataOutput来阅读条形码。它调用委托方法..

captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!)

......当它匹配时。

除非用户将手指放在按钮上,否则如何忽略匹配?

1 个答案:

答案 0 :(得分:1)

您可以为按钮添加多个操作。当用户按下时捕获,设置读取条形码状态。当用户放开时捕获,清除读取条形码状态。

func viewDidLoad() {
    ...
    button.addTarget(self, action:#selector(buttonDown), for:.touchDown)
    button.addTarget(self, action:#selector(buttonUp), for:.touchUpInside)
    button.addTarget(self, action:#selector(buttonUp), for:.touchUpOutside)
    ...
}

func buttonDown() {
    startReadBarcode() 
}

func buttonUp() {
    stopReadBarcode()
}