二维码扫描-zbar的使用
2015-10-06 00:17
411 查看
最近在做的项目中需要用到二维码扫描功能
ZXing也有对应的iOS版本,经过了解,ZBar也是一个常用的二维码识别软件,
并分别提供了iOS和Android的SDK可供使用,最终我选择了ZBar进行二维码识别,它的注释清晰,便于使用。
ZBar为我们提供了两种使用方式,一种是直接调用ZBar提供的ZBarReaderViewController打开一个扫描界面,
另一种方式 是使用ZBar提供的可以嵌在其他视图中的ZBarReaderView,实际项目中我们更可能会使用第二种方式,
这可以让我们对界面做更多的定制。
下面介绍第一种使用方法
ZXing也有对应的iOS版本,经过了解,ZBar也是一个常用的二维码识别软件,
并分别提供了iOS和Android的SDK可供使用,最终我选择了ZBar进行二维码识别,它的注释清晰,便于使用。
ZBar为我们提供了两种使用方式,一种是直接调用ZBar提供的ZBarReaderViewController打开一个扫描界面,
另一种方式 是使用ZBar提供的可以嵌在其他视图中的ZBarReaderView,实际项目中我们更可能会使用第二种方式,
这可以让我们对界面做更多的定制。
下面介绍第一种使用方法
#import "ViewController.h" #import "ZBarReaderViewController.h" @interface ViewController ()<ZBarReaderDelegate> @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. /* 二维码扫描: iPhone最低支持版本如果7.0,用AVFoundation 如果是7.0以下,用zbar,zxing */ } - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { /** 二维码扫描控制器 */ ZBarReaderViewController *readerVC = [[ZBarReaderViewController alloc] init]; //设置代理 readerVC.readerDelegate = self; [self presentViewController:readerVC animated:YES completion:nil]; } //完成扫描 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSLog(@"%@",info[ZBarReaderControllerResults]); // ZBarSymbolSet *results = info[ZBarReaderControllerResults]; id<NSFastEnumeration> results = info[ZBarReaderControllerResults]; //取值二维码信息 for (ZBarSymbol *symbol in results) { //取出二维码信息 NSString *message = symbol.data; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"扫描完成" message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alertView show]; break; } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
相关文章推荐
- 关于Socket的经验小结
- Log4j官方文档翻译(七、日志格式化)
- linux C 编程基础-多文件工程编程框架
- c++ vector实验
- 隔日随笔样式测试
- 第一次自己去做一个程序,而不是照着书本上的代码打程序。
- 浮点型JAVA008
- 让Ubuntu更多的使用物理内存
- HttpURLConnection的get和post处理方法(含图片)
- Codeforces Round #323 D Once Again...
- 带你玩转Visual Studio——带你多工程开发
- 例题5.23 蚂蚁 LA4043
- HDOJ 5366 The mook jong(规律)
- Linux编程学习之路_1
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
- 让手机支持OTG,不看绝对后悔! - 我也做一回搬运工,解决RFID读卡器OTG支持问题
- js写法【2】
- 解析C++编程中的继承方面的运用
- Java设计模式之工厂设计模式
- 终于不用再苦逼地写文档了!一步步教你如何生成可调试的API