本文实例为大家分享了iOS第三方二维码生成与扫描的具体代码,供大家参考,具体内容如下
导入第三方框架libqrencode(生成二维码)和ZBarSDK(二维码扫描)
导入头文件
#import "QRCodeGenerator.h" #import "ZBarSDK.h"
- (IBAction)erWeiMaBtn1:(id)sender { // 设置图片框存放二维码 UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake((self.view.frame.size.width - 200)/2,100,200,200)]; // 展示到主视图 [self.view addSubview:self.imgView]; // 利用第三方方法实现自己想要的二维码 imgView.image = [QRCodeGenerator qrImageForString:@"傻子" imageSize:self.imgView.frame.size.width]; }
点击按钮二实现扫描二维码
- (IBAction)erWeiMaBtn1:(id)sender { //设置文本域(设置为全局) _textView = [[UITextView alloc]initWithFrame:CGRectMake((self.view.frame.size.width-300)/2,430,300,300) textContainer:nil]; //设置背景颜色 _textView.backgroundColor = [UIColor blueColor]; //添加到主视图 [self.view addSubview:self.textView]; ZBarReaderViewController *reader = [[ZBarReaderViewController alloc] init]; reader.readerDelegate =self; //隐藏底部控制按钮 reader.showsZBarControls =YES; //设置自己定义的界面 //reader.cameraOverlayView = someView;(这个视图可以自己定义,当然你也可以通过[reader.view addSubview:someView]的方式添加蒙版视图,这样可以做出自己想要的视图效果) //设置识别范围(这里的4个参数都是视图比例~~不要搞错奥(距离左边的比例,距离上边的比例,识别宽度的比例,识别高度的比例)) //reader.scanCrop =CGRectMake(0,1,1); //设置识别的参数 ZBarImageScanner *scanner = reader.scanner; [scanner setSymbology:ZBAR_I25 //这个参数和to:后面的参数配合确定了识别的编码范围,根据需求调整,可以提高识别速度。 config:ZBAR_CFG_ENABLE to:0]; [self presentViewController:reader animated:YES completion:nil]; } //下面是委托方法 - (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info { id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults]; ZBarSymbol *symbol =nil; for(symbol in results) break; NSLog(@"%@",symbol.data);//打印识别的数据 //设置内容 _textView.text = symbol.data; // [reader dismissModalViewControllerAnimated:YES]; }
注意:在info.plist中填入可用相机扫描的白名单!