二维码---长按识别 swift

前端之家收集整理的这篇文章主要介绍了二维码---长按识别 swift前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

swift 3.0 Xcode 8.1

  1. import UIKit
  2.  
  3. class ViewController: UIViewController {
  4. var imageView: UIImageView!
  5.  
  6. override func viewDidLoad() {
  7. super.viewDidLoad()
  8. imageView = UIImageView.init(frame: CGRect.init(x: 100,y: 100,width: 200,height: 200))
  9. imageView.image = UIImage.init(named: "123.jpeg")
  10. imageView.isUserInteractionEnabled = true
  11. self.view.addSubview(imageView)
  12. //长按识别二维码
  13. let longPress = UILongPressGestureRecognizer.init(target: self,action: #selector(QRLongPress(gesture:)))
  14. longPress.minimumPressDuration = 1
  15. imageView.addGestureRecognizer(longPress)
  16. }
  17.  
  18. //MARK: - 长按二维码识别
  19. func QRLongPress(gesture: UILongPressGestureRecognizer) {
  20. if (gesture.state == UIGestureRecognizerState.began) {
  21. //1.初始化扫描仪,设置设别类型和识别质量
  22. let options = ["IDetectorAccuracy" : CIDetectorAccuracyHigh]
  23. let detector: CIDetector = CIDetector.init(ofType: "CIDetectorTypeQRCode",context: nil,options: options)!
  24. //2.扫描获取的特征组
  25. let features = detector.features(in: CIImage.init(cgImage: (self.imageView.image?.cgImage)!))
  26. //3.获取扫描结果
  27. let feature = features[0] as! CIQRCodeFeature
  28. let scannedResult = feature.messageString
  29. //4.获取之后的操作
  30. print(scannedResult!)
  31. } else if (gesture.state == UIGestureRecognizerState.ended) {
  32. }
  33. }
  34.  
  35. override func didReceiveMemoryWarning() {
  36. super.didReceiveMemoryWarning()
  37. // Dispose of any resources that can be recreated.
  38. }
  39.  
  40. }

猜你在找的Swift相关文章