最近做了个外包项目,里面用到了二维码扫描和微信支付!之前比较熟悉的是zx,但是在Xcode7.1里面发现竟然莫名的不支持,木有办法,从网上查了一下还有一种支持二维码扫描的东西,没错就是接下来我要说的东东,二维码扫描的利器,ZBarSDK,闲言少絮叨,言归正传!
1,下载,ZBarSDK官网,https://github.com/bmorton/ZBarSDK
2,导入如下框架
3,在AppDelegetem文件中#进口“ZBarSDK.h”,
并且在
- (BOOL)应用程序:(UIApplication *)应用didFinishLaunchingWithOptions: (NSDictionary *) launchOptions
里面添加下面的代码
//二维码读取
,,[ZBarReaderViewclass];
,, 4,在二维码扫描界面开始# ZBarSDK进口”。h”,添加
& lt; ZBarReaderDelegate, ZBarReaderViewDelegate>委托
,
,
下面开始介绍扫描步骤:
1。通过摄像头获取图片
2。通过Zbar的内部处理方法来识别图片
3。处理信息并显示
,
代码实现:
1。创建视图
,
- (void) creatView{,,,//用于响应扫描事件,点击开始扫描,,,,button =, (UIButton buttonWithType UIButtonTypeRoundedRect):,,,,, (button setFrame: CGRectMake(110,, 200,, 100年,40)];,,,,(button setTitle: @“扫描”,forState: UIControlStateNormal];,,,, (button addTarget: self 行动:@ selector (scanButtonPressed:), forControlEvents: UIControlEventTouchUpInside];,,,, (self.view addSubview:按钮),,,,,//用于显示扫描到的图像,,,,p_w_picpathview =, [[UIImageView alloc] initWithFrame: CGRectMake(20岁,50岁,280年,280年)];,,,,(self.view addSubview p_w_picpathview):,,,,,//用于显示扫描到的信息,,,,label =, [[UILabel alloc] initWithFrame: CGRectMake (20, 356,, 280,, 68)];,,,, (self.view addSubview:标签);}
2。扫描二维码
方法一:直接调用ZBar提供的ZBarReaderViewController打开一个扫描界面
步骤1:扫描二维码操作
,
- (void) scanButtonPressed:发送者(id) {,,, ZBarReaderViewController * reader =, [[ZBarReaderViewController alloc] init];,,,,,,,,,, reader.readerDelegate =,自我,,,,,reader.supportedOrientationsMask =, ZBarOrientationMaskAll;,,,, ZBarImageScanner * scanner =, reader.scanner;,,,, (scanner setSymbology: ZBAR_I25 配置:ZBAR_CFG_ENABLE : 0];,,,, (self presentViewController: reader 动画:YES 完成:nil);}
步骤2:找到二维码回调的时候会执行ZBarReaderDelegate的对应方法
安康;(空白),p_w_picpathPickerController:, (UIImagePickerController *), reader didFinishPickingMediaWithInfo:, (NSDictionary *),信息{,,,//通过信息获得结果,,,,id, results =,,,, (info objectForKey:, ZBarReaderControllerResults];,,,, ZBarSymbol * symbol =,零,,,,,,(symbol 拷贝;结果),,,,,,,,休息,,,& lt; span 比;null null null null null null null null null null null null null 在iOS中使用ZBar扫描二维码和条形码