美文网首页
iOS-高仿微信扫一扫

iOS-高仿微信扫一扫

作者: Y_3c23 | 来源:发表于2019-03-18 12:14 被阅读0次

日常项目开发中,经常会出现类似扫码加好友、扫码登录或者扫码支付等功能。SWQRCode高仿微信扫一扫功能,支持二维码/条码扫描,相册二维码/条码识别、手电筒等功能,且同时支持Swift 以及 OC 版本,欢迎 Star !!!

OC 版本:SWQRCode_Objc

Swift 版本:SWQRCode_Swift

SWQRCode.gif

1. 前言

SWQRCode支持二维码/条码扫描,相册二维码/条码识别、手电筒等功能。舍弃了NSTimer而采用CABasicAnimation实现扫一扫动画效果。

在项目中使用SWQRCode,只需将SWQRCode文件夹拖入项目中,并在info.plist文件中添加Privacy - Photo Library Usage Description以及Privacy - Camera Usage Description配置,声明需要使用相机相册权限,请使用真机进行测试。

2. SWQRCodeConfig

SWQRCodeConfig为SWQRCode配置文件,可配置扫一扫主题色以及扫一扫支持扫码类型。

/**

扫描器类型

- SWScannerTypeQRCode: 仅支持二维码

- SWScannerTypeBarCode: 仅支持条码

- SWScannerTypeBoth: 支持二维码以及条码

*/

typedefNS_ENUM(NSInteger, SWScannerType) {   

SWScannerTypeQRCode,   

SWScannerTypeBarCode,    

SWScannerTypeBoth,

};

在跳转扫一扫界面前,可先进行相关配置,如下:

SWQRCodeConfig *config = [[SWQRCodeConfig alloc]init];

config.scannerType = SWScannerTypeBoth;      

SWQRCodeViewController *qrcodeVC = [[SWQRCodeViewController alloc]init];

qrcodeVC.codeConfig = config;

[self.navigationController pushViewController:qrcodeVC animated:YES];

3. 添加 ActivityIndicator

若对扫描结果需要解析或者网络请求,可通过快捷添加或移除ActivityIndicator指示器。

添加 ActivityIndicator

[self.scannerView sw_addActivityIndicator];

移除 ActivityIndicator

[self.scannerView sw_removeActivityIndicator];

4. 扫一扫 Api

最后介绍一下如何处理扫描结果以及扫描异常。在项目中主要提供了两个处理扫描结果及异常的 Api。

/**

处理扫一扫结果

@param value 扫描结果

*/

- (void)sw_handleWithValue:(NSString*)value {NSLog(@"sw_handleWithValue === %@", value);}

value为解析二维码/条码得出的结果,只需在此对该扫描结果根据需求做相应处理即可。

/**

相册选取图片无法读取数据

*/

- (void)sw_didReadFromAlbumFailed {NSLog(@"sw_didReadFromAlbumFailed");}

在识别相册图片中二维码/条码时,若无法解析成功,则会调用以上方法。

原文地址:https://www.jianshu.com/p/1fc34089adf5

相关文章

网友评论

      本文标题:iOS-高仿微信扫一扫

      本文链接:https://www.haomeiwen.com/subject/uljvmqtx.html