十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
iOS读取制作二维码
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于做网站、成都网站制作、鸠江网络推广、成都微信小程序、鸠江网络营销、鸠江企业策划、鸠江品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供鸠江建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
代码例子下载地址 "读取制作二维码.zip"
http://vdisk.weibo.com/s/Gbaa1
工程中需要的第三方库在代码例子中有的
我们来看看.h文件:
#import#import "ZBarSDK.h" @interface ViewController : UIViewController @property (strong , nonatomic) UIImageView* qRImageView; @property (strong , nonatomic) ZBarReaderViewController* reader; @property (strong , nonatomic) NSString* qRUrl; -(IBAction)QRPress:(id)sender; -(IBAction)qrBtnPress:(id)sender; @end
.m文件如下:
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.qRUrl = [[NSString alloc] init]; //从这以下到32行 self.reader = [[ZBarReaderViewController alloc] init]; self.reader.readerDelegate = self; self.reader.supportedOrientationsMask = ZBarOrientationMaskAll; ZBarImageScanner *scanner = self.reader.scanner; [scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0]; //这部分为zBarSDK文档提供的例子给出的主要的意思就是初始化ZBarReaderViewController类的对象,以及设置代理回调方法为- (void) p_w_picpathPickerController: (UIImagePickerController*) reader //didFinishPickingMediaWithInfo: (NSDictionary*) info self.qRImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)]; [self.view addSubview:self.qRImageView]; }
//制作二维码 -(IBAction)qrBtnPress:(id)sender { /*字符转二维码 导入 libqrencode文件 引入头文件#import "QRCodeGenerator.h" 即可使用 */ self.qRImageView.p_w_picpath = [QRCodeGenerator qrImageForString:@"asd户外" p_w_picpathSize:self.qRImageView.bounds.size.width]; }
//点击Button时将扫描二维码需要的照相机视图,即self.reader(ZBarReaderViewController)类的对象 -(IBAction)QRPress:(id)sender { [self presentViewController:self.reader animated:YES completion:^{ NSLog(@"fd"); }]; }
//这个回调方法的写法是固定,只要知道以下几点就好需要的数据是从symbol.data中取出的,因此也就需要在.h文件中声明一个字符串接受就好。在这里我在.h中声明了self.qRUrl对象进行接受,之后只要按下面的格式写就好。 - (void) p_w_picpathPickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info { idresults = [info objectForKey: ZBarReaderControllerResults]; ZBarSymbol *symbol = nil; for(symbol in results) { NSLog(@"symbol =%@",symbol.data); break; } self.qRUrl = symbol.data; UIAlertView* alert = [[UIAlertView alloc] initWithTitle:self.qRUrl message:self.qRUrl delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; self.qRImageView.p_w_picpath = [info objectForKey: UIImagePickerControllerOriginalImage]; [self.reader dismissViewControllerAnimated:YES completion:^{ }]; }