我正在使用AVCaptureMetadataOutput
來讀取條形碼。它調用委託方法..只有在按住按鈕時才掃描條形碼
captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!)
...當它匹配的東西。
除非用戶將手指放在按鈕上,否則我怎樣才能讓它忽略匹配?
我正在使用AVCaptureMetadataOutput
來讀取條形碼。它調用委託方法..只有在按住按鈕時才掃描條形碼
captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!)
...當它匹配的東西。
除非用戶將手指放在按鈕上,否則我怎樣才能讓它忽略匹配?
您可以將多個操作添加到您的按鈕。當用戶按下時抓住,設置讀條形碼狀態。當用戶放開時抓住,清除讀取的條碼狀態。
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()
}
調用'FUNC setMetadataObjectsDelegate(_ objectsDelegate:AVCaptureMetadataOutputObjectsDelegate!隊列objectsCallbackQueue:DispatchQueue)'只有當你開始按住按鈕? – Larme