@IBAction func onclickBtnScan(_ btn : UIButton!) {
let vcQRCode = SYQRCodeReader()
vcQRCode.setReaderDelegate(self)
self.present(vcQRCode, animated: true, completion: nil)
}
@IBAction func onClickBtnGenerate(_ btn : UIButton!) {
let imageQRCode = generateQRCodeImage("sunyang", strLogo: "qrcodelogo")
self.logo.image = imageQRCode
}
@IBAction func onClickBtnRead(_ btn : UIButton!) {
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .photoLibrary
self.present(imagePicker, animated: true, completion: nil)
}
}
//代理
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let imagePicked = info[UIImagePickerControllerOriginalImage] as! UIImage
//展示读取到的图片信息
alertInfo(readQRCodeImage(imagePicked), msg: nil)
picker.dismiss(animated: true, completion: nil)
}
//reader delegate
func reader(reader: SYQRCodeReader!, didReadModel: SYQRCodeModel!, success: Bool) {
self.mQRCode = didReadModel
SYLog(self.mQRCode.describe(), classname: self)
reader?.dismiss(animated: true, completion: { () -> Void in
alertInfo(nil, msg: self.mQRCode.describe())
})
}
func readerDidReadFail(reader: SYQRCodeReader!) {
SYLog("readFailBlock", classname: self)
}
SYQRCodeSwift/
目录到你的projectFoundation
、UIKit
、AVFoundation
let vcQRCode = SYQRCodeReader()
vcQRCode.setReaderDelegate(self)
self.present(vcQRCode, animated: true, completion: nil)
reader(reader : SYQRCodeReader!, didReadModel : SYQRCodeModel!, success : Bool)
readerDidReadFail(reader : SYQRCodeReader!)
本代码分发受 MIT 许可证条款和条件的约束。
请注意! 如果你正在修复你发现的bug,请同时添加一个单元测试,让我知道在合并前如何精确地重现该bug。