WJBarCodeScanner 0.0.4

WJBarCodeScanner 0.0.4

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2015年12月
SPM支持 SPM

wj2061 维护。



  • wj2061

如果您只想扫描条形码而不深入了解 AVFoundation,这是一个好工具。
WJBarCodeScanner 尽可能简化扫描过程,并尽可能提供灵活性。

屏幕截图

image

快速示例

1. 创建 WJScanViewController 的子类。
2. 配置透明区域、扫描颜色、metadataObjectTypes。
3. 重写 func captureOutput(captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection: AVCaptureConnection!) 以获取扫描结果。
4. 重写 func handleCameraWithoutAuth() 以处理没有摄像头的情况。
5. 使用属性(session output)进行更具体的操作。

import UIKit
import AVFoundation

class ViewController: WJScanViewController{
    @IBOutlet weak var messageLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        transparentArea = CGRect(x: view.center.x-150, y: 0, width: 300, height: 400)
        scanColor = UIColor.cyanColor()
        metadataObjectTypes = [ AVMetadataObjectTypeQRCode]  // IF YOU only want to scan QRCode
    }

    override func captureOutput(captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection: AVCaptureConnection!) {
        if  let metadataObject = metadataObjects.first {
            let stringValue = (metadataObject as! AVMetadataMachineReadableCodeObject).stringValue
            print(stringValue)
            messageLabel.text = stringValue
            session.stopRunning()
        }
    }

    override func handleCameraWithoutAuth() {
        let alertView = UIAlertController(title: "alert", message: "Cannot use Back Camera", preferredStyle: .Alert)
        alertView.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil ))
        presentViewController(alertView, animated: true , completion: nil)
    }
}

安装方法

手动

步骤1:将 WJBarCodeScanner 文件夹拖到您的项目中。

步骤2:创建 WJScanViewController 的子类。

import UIKit
import AVFoundation

class ViewController: WJScanViewController{
}