iOS 二维码 (包括扫描二维码,和读取二维码图片)


下载地址:https://github.com/sunjie19921111/SJQRCode


使用说明:1.读取相册中的二维码只支持ios8以上的系统 2.扫码二维码支持ios7以上的系统

QRCode(二维码扫描) 使用iOS系统自带框架,实现二维码的的扫描,代码主要分为三个模块,1.SJCameraViewController 配置相机属性 2. SJScanningView 建立视图 3. SJViewController 实现功能

SJCameraViewControlle简介: // 配置和控制捕捉会话

  • (void)stopSession;
  • (void)startSession;
  • (BOOL)setupSession:(NSError **)error;

//设置分辨率

  • (NSString *)sessionPreset;

//配置输入和输出会话

  • (BOOL)setupSessionInputs:(NSError **)error;
  • (BOOL)setupSessionOutputs:(NSError **)error;

// 相机显示view

  • (void)showCaptureOnView:(UIView *)preview; //读取相册二维码的图片
  • (NSString *)readAlbumQRCodeImage:(UIImage *)imagePicker;

    SJScanningView简介:

//扫描线段的动画

  • (void)scanning; //移除动画
  • (void)removeScanningAnimations;

    SJViewController 实现功能

//建立视图

  • (void)setupView { [self.view addSubview:self.preview]; [self.view addSubview:self.scanningView]; [self.cameraController showCaptureOnView:self.preview]; [self.scanningView scanning]; }

//判断相机是否授权

  • (BOOL)isCameraIsAuthorized { AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]; if(authStatus == AVAuthorizationStatusDenied){ return NO; } else if (authStatus == AVAuthorizationStatusAuthorized) { return YES; } return YES; }

//扫描二维码的结果

  • (void)didDetectCodes:(NSArray *)codesArr { [self.scanningView removeScanningAnimations];

    NSString *metadataString = nil; AudioServicesPlaySystemSound(1360); AVMetadataMachineReadableCodeObject *MetadataObject = [codesArr objectAtIndex:0]; metadataString = MetadataObject.stringValue; [UIAlertView alertViewTitle:@"tip" message:metadataString delegate:self cancelButtonTitle:@"取消"]; }

关于如何使用:

1:下载本代码 2. 把SJQRCode放进去你的工程 3. 增加代码: 

SJViewController *viewController = [[SJViewController alloc] init];
/** successString 扫描成功返回来的数据 */
viewController.successBlock = ^(NSString *successString) {

    [self dismissViewControllerAnimated:YES completion:nil];

    NSLog(@"successBlock=%@",successString);

    [UIAlertView alertViewTitle:@"tip" message:successString delegate:self cancelButtonTitle:@"取消"];
};


[self presentViewController:viewController animated:YES completion:nil];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值