IOS使用ZBarSDK实现二维码的生成和扫描
现在二维码的使用也是越来越多,那我们在做APP的时候,有时也需要考虑二维码的生成和扫描
首先简单的讲一下二维码的生成
首先定义一个ImageView来显示生成的二维码图片
只是简单的做一下字符串转化成二维码
导入 libqrencode文件
引入头文件#import "QRCodeGenerator.h" 即可使用
imageview.image = [QRCodeGenerator qrImageForString:@"www.cnblogs.com/myselfxiaoxiao" imageSize:imageview.bounds.size.width];// 这是一个类方法,第一个参数为需要转换的字符串,第二个参数为转换的二维码的大小.
其他的转换方式,可以自己进行研究.
主要是讲讲二维码的扫描.扫描功能需要在真机上进行测试
扫描二维码部分:
导入ZBarSDK文件并引入一下框架
AVFoundation.framework
CoreMedia.framework
CoreVideo.framework
QuartzCore.framework
libiconv.dylib
引入头文件#import “ZBarSDK.h” 即可使用
ZBarReaderViewController *reader = [ZBarReaderViewController new]; //读取控制器
reader.readerDelegate = self; //签订代理人,当读取到二维码或条形码时会走相应的方法 使用的协议是<ZBarReaderDelegate>
reader.supportedOrientationsMask = ZBarOrientationMaskAll; //基本适配
ZBarImageScanner *scanner = reader.scanner; //二维码和条形码识别设置
[scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
[self presentModalViewController: reader
animated: YES]; //弹出相机
[reader release];
接下来实现代理方法
- (void) imagePickerController: (UIImagePickerController*) reader
didFinishPickingMediaWithInfo: (NSDictionary*) info
{
id<NSFastEnumeration> results =
[info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results){
break;
}
imageview.image =
[info objectForKey: UIImagePickerControllerOriginalImage];
[reader dismissModalViewControllerAnimated: YES];
NSString *content = symbol.data;
//接下来针对读取到的信息做相应的操作,例如如果是网址,打开网页,等等.
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。