HRQRCodeScanTool
摘要
HRQRCodeScanTool 是一个轻量级、高内聚、低耦合的纯 Swift 工具,用于 QR 码扫描。
描述
此工具基于 Swift 4.1 API 的 AVFoundation。它增强了代码的可复用性,并使代码在 ViewControllers 中易于维护和扩展。此工具不仅支持 QR 码,还支持 .ean13 .ean8 .upce .code39 .code93 .code128 .code39Mod43。不要在模拟器中运行。
示例
要求
- Swift 4.1
- iOS 8.0+
- Xcode 9.3
安装
CocoaPods(推荐)
HRQRCodeScanTool 可通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile 中
platform :ios, '8.0'
use_frameworks!
pod 'HRQRCodeScanTool'
然后导入头文件到您的代码中
import HRQRCodeScanTool
手动
- 下载后将
HRQRCodeScanTool.swift
拖到您的项目中。 - 恭喜!
用法示例
请记住在您的 info.plist 中添加以下键值对
<key>NSCameraUsageDescription</key>
<string>CameraUsageDescription</string>
从纯代码初始化:
// in ViewController
HRQRCodeScanTool.shared.delegate = self
HRQRCodeScanTool.shared.beginScanInView(view: view)
......
// scan result will call in delegate methods
func scanQRCodeFaild(error: String){
print(error)
}
func scanQRCodeSuccess(resultStrs: [String]){
print(resultStrs.first)
}
自定义属性
属性 | 默认值 | 说明 |
---|---|---|
open var isDrawQRCodeRect: Bool | true | 是否绘制二维码边框 默认为 true |
open var drawRectColor: UIColor | UIColor.red | 二维码边框颜色 默认为红色 |
open var drawRectLineWith: CGFloat | 2 | 二维码边框线宽 默认为 2 |
open var isShowMask: Bool | true | 是否展示黑色蒙版层 默认开启 |
open var maskColor: UIColor | Black.alpha 0.5 | 蒙版层 默认为黑色 alpha 0.5 |
open var centerWidth: CGFloat | 200 | 中心非蒙版区域的宽 |
open var centerHeight: CGFloat | 5.0 | 中心非蒙版区域的宽 |
open var centerPosition: CGPoint? | nil | 中心非蒙版区域的中心点 默认为 View 的中心 |
公共方法
open func beginScanInView(view: UIView)
open func setInterestRect(originRect: CGRect)
open func stopScan()
作者
DeveloperHRXu 邮箱:[email protected] 博客:www.akpop.top 相关文章:https://www.jianshu.com/p/e16a4380d7b2 https://juejin.im/post/5ad9b34851882567361479aa http://www.akpop.top/2018/04/20/Swift4QRCodeTool/
许可证
HRQRCodeScanTool 采用MIT许可证发行。有关更多信息,请参阅LICENSE文件。