加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

二维码---长按识别 swift

发布时间:2020-12-14 06:35:54 所属栏目:百科 来源:网络整理
导读:swift 3.0 Xcode 8.1 import UIKitclass ViewController: UIViewController { var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() imageView = UIImageView.init(frame: CGRect.init(x: 100,y: 100,width: 200,height: 200)) i

swift 3.0 Xcode 8.1

import UIKit

class ViewController: UIViewController {
    
    var imageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        
        imageView = UIImageView.init(frame: CGRect.init(x: 100,y: 100,width: 200,height: 200))
        imageView.image = UIImage.init(named: "123.jpeg")
        imageView.isUserInteractionEnabled = true
        self.view.addSubview(imageView)
        
        //长按识别二维码
        let longPress = UILongPressGestureRecognizer.init(target: self,action: #selector(QRLongPress(gesture:)))
        longPress.minimumPressDuration = 1
        imageView.addGestureRecognizer(longPress)
        
    }

    //MARK: - 长按二维码识别
    func QRLongPress(gesture: UILongPressGestureRecognizer) {
        
        if (gesture.state == UIGestureRecognizerState.began) {
            
            //1.初始化扫描仪,设置设别类型和识别质量
            let options = ["IDetectorAccuracy" : CIDetectorAccuracyHigh]
            let detector: CIDetector = CIDetector.init(ofType: "CIDetectorTypeQRCode",context: nil,options: options)!
            //2.扫描获取的特征组
            let features = detector.features(in: CIImage.init(cgImage: (self.imageView.image?.cgImage)!))
            //3.获取扫描结果
            let feature = features[0] as! CIQRCodeFeature
            let scannedResult = feature.messageString
            //4.获取之后的操作
            print(scannedResult!)
            
        } else if (gesture.state == UIGestureRecognizerState.ended) {
            
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读