IOS开发---菜鸟学习之路--(二十)-二维码扫描功能的实现

时间:2023-03-09 18:06:36
IOS开发---菜鸟学习之路--(二十)-二维码扫描功能的实现

本章将讲解如何实现二维码扫描的功能

首先在github上下载ZBar SDK
地址https://github.com/bmorton/ZBarSDK

然后将如下的相关类库添加进去

AVFoundation.framwork, CoreMedia.framework, CoreVideo.framework, libiconv.dylib 和libzbar.a

接下来首先在.h文件中引用

#import "ZBarSDK.h"

同时添加代理

ZBarReaderDelegate

然后在.m文件中添加如下代码

 -(void)sysbutbuttonclick{

     ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
ZBarImageScanner *scanner = reader.scanner; [scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: ];
[self presentModalViewController: reader animated: YES];
} - (void) imagePickerController: (UIImagePickerController*) reader
didFinishPickingMediaWithInfo: (NSDictionary*) info
{ NSLog(@"info=%@",info);
// 得到条形码结果
id<NSFastEnumeration> results =[info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// EXAMPLE: just grab the first barcode
break; UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"信息提示!" message:symbol.data delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
[alert show];
// 将获得到条形码显示到我们的界面上
// resultText.text = symbol.data;
NSLog(@"%@",symbol.data);
// 扫描时的图片显示到我们的界面上
// resultImage.image =
// [info objectForKey: UIImagePickerControllerOriginalImage]; // 扫描界面退出
//[reader dismissModalViewControllerAnimated: YES];
}

然后需要触发扫描事件的时候 就调用

sysbutbuttonclick 就可以 了