你的位置:首页 > 操作系统

[操作系统]iOS7+系统自带条码扫描

在 iOS7 以前,在iOS中实现二维码和条形码扫描,我们所知的有,两大开源组件ZBar与ZXing. 个人感觉这两大组件用起来约束很多, 自定义的部分实在太局限了. 而且ZBar在使用的时候, 存在.o文件会和百度地图SDK以及支付宝SDK产生冲突. 之前在整理公司源代码的时候, 就对系统自带的扫码api进行了总结. 源码下载

 

主要类介绍:

1 // FrostedView.h2 #import <UIKit/UIKit.h>3 @interface FrostedView : UIView4 - (instancetype)initWithTranslucentRect:(CGRect)translucentRect;5 @end

这是我封装的一个View,初始化时传入一个矩形即可,此矩形即代表中间的扫描卡,四周是半透明的黑色.
// MHScanViewController.h#import <UIKit/UIKit.h>@interface MHScanViewController : [email protected] (strong, nonatomic) void(^rebackData)(NSString *);@end

这是用于扫描的类, 只有一个获取扫描结果的Block属性,定义之后直接从此Block中得到和处理扫描结果,如下:

 

  MHScanViewController *scanVC = [[MHScanViewController alloc] init];  scanVC.rebackData = ^(NSString *retStr) {    NSLog(@"回传过来的的扫面结果%@", retStr);  };  [self presentViewController:scanVC animated:YES completion:nil];