2016-11-18 4 views
0

私は以下の質問に示されたものと同様のコードを使用しています:How to scan for QR codes on button press?。 カメラのプレビューを常にアクティブにして、自分のボタンが押されたときだけスキャンすることができます。 私の問題は、私がQRコードに焦点を当てる前に私が(偶然に)ボタンを押すと、読者はそれが見える次のQRコードを自動的にスキャンすることに気づいた。 偶発的なボタン押下を考慮する方法はありますか?QRコードを表示しているときにのみQRコードをスキャンする方法はありますか?QRスキャンオンボタンのみ

ご協力いただければ幸いです!

答えて

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() 
} 

私は私はそれを扱うことができ、別のビューコントローラへこのデータを渡すためにセグエ機能を追加します。

これは意味があり、他の誰かが私がやった頭の傷のすべてを避けるのに役立ちます!

関連する問題