实现效果图: 1.一个按钮“扫我” —— 2.点击后打开系统照相机 —— 3.进入全屏拍摄,拍摄二维码 —— 4.识别成功自动关闭照相机
调用系统相机全屏拍摄,使用的协议是<ZBarReaderDelegate>,自定义相机窗口使用的是<ZBarReaderViewDelegate>
class="brush:csharp;gutter:true;"> //初始化相机控制器 ZBarReaderViewController *reader = [ZBarReaderViewController new]; //设置代理 reader.readerDelegate = self; //基本适配 reader.supportedOrientationsMask = ZBarOrientationMaskAll; //二维码/条形码识别设置 ZBarImageScanner *scanner = reader.scanner; [scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0]; //弹出系统照相机,全屏拍摄 [self presentModalViewController: reader animated: YES];
//初始化照相机窗口 ZBarReaderView *readview = [ZBarReaderView new]; //自定义大小 readview.frame = CGRectMake(100, 100, 300, 300); //自定义添加相关指示.........发挥各自的APP的想象力 //此处省略美化10000行代码................... //……………………….. // 好进入正题—— 接着设置好代理 readview.readerDelegate = self; //将其照相机拍摄视图添加到要显示的视图上 [self.viewaddSubview:readview]; //二维码/条形码识别设置 ZBarImageScanner *scanner = readview.scanner; [scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0]; //启动,必须启动后,手机摄影头拍摄的即时图像菜可以显示在readview上 [readview start];
作者: 清澈Saup
出处: http://www.cnblogs.com/qingche/
本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。