溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

iOS第三方框架二維碼生成與掃描

發(fā)布時間:2020-09-05 12:58:10 來源:腳本之家 閱讀:340 作者:ZzWei_01 欄目:移動開發(fā)

本文實(shí)例為大家分享了iOS第三方二維碼生成與掃描的具體代碼,供大家參考,具體內(nèi)容如下

導(dǎo)入第三方框架libqrencode(生成二維碼)和ZBarSDK(二維碼掃描)

導(dǎo)入頭文件

#import "QRCodeGenerator.h"
#import "ZBarSDK.h"

創(chuàng)建兩個按鈕點(diǎn)擊事件
點(diǎn)擊按鈕一實(shí)現(xiàn)生成二維碼

- (IBAction)erWeiMaBtn1:(id)sender {
// 設(shè)置圖片框存放二維碼
  UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake((self.view.frame.size.width - 200)/2, 100, 200, 200)];
// 展示到主視圖
  [self.view addSubview:self.imgView];
// 利用第三方方法實(shí)現(xiàn)自己想要的二維碼  
  imgView.image = [QRCodeGenerator qrImageForString:@"傻子" imageSize:self.imgView.frame.size.width];
}

點(diǎn)擊按鈕二實(shí)現(xiàn)掃描二維碼

- (IBAction)erWeiMaBtn1:(id)sender {
  //設(shè)置文本域(設(shè)置為全局)
  _textView = [[UITextView alloc]initWithFrame:CGRectMake((self.view.frame.size.width-300)/2, 430, 300, 300) textContainer:nil];
  //設(shè)置背景顏色
  _textView.backgroundColor = [UIColor blueColor];
  //添加到主視圖
  [self.view addSubview:self.textView];

  ZBarReaderViewController *reader = [[ZBarReaderViewController alloc] init];
  reader.readerDelegate =self;
  //隱藏底部控制按鈕
  reader.showsZBarControls =YES;
  //設(shè)置自己定義的界面
  //reader.cameraOverlayView = someView;(這個視圖可以自己定義,當(dāng)然你也可以通過[reader.view addSubview:someView]的方式添加蒙版視圖,這樣可以做出自己想要的視圖效果)
  //設(shè)置識別范圍(這里的4個參數(shù)都是視圖比例~~不要搞錯奧(距離左邊的比例,距離上邊的比例,識別寬度的比例,識別高度的比例))
  //reader.scanCrop =CGRectMake(0,0, 1,1);
  //設(shè)置識別的參數(shù)
  ZBarImageScanner *scanner = reader.scanner;
  [scanner setSymbology:ZBAR_I25  //這個參數(shù)和to:后面的參數(shù)配合確定了識別的編碼范圍,根據(jù)需求調(diào)整,可以提高識別速度。
          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);//打印識別的數(shù)據(jù)
  //設(shè)置內(nèi)容
  _textView.text = symbol.data;
  //
  [reader dismissModalViewControllerAnimated:YES];
}

注意:在info.plist中填入可用相機(jī)掃描的白名單!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI