iOS- 詳解如何使用ZBarSDK集成掃描二維碼/條形碼,點我!


1.前言  

目前市場主流APP里,二維碼/條形碼集成主要分兩種表現形式來集成:
a. 一種是調用手機攝像頭並打開系統照相機全屏去拍攝
b. 一種是自定義照相機視圖的frame,自己控制並添加相關掃碼指南
 
今天我就用ZBarSDK來實現上訴兩種主流集成方式,與大家共同交流學習/
 

2.第一步導入ZBarSDK  

可以從github上下載好ZBarSDK,導入項目,並且導入相關iOS.framework 如圖:
 

3.集成掃描二維碼/條形碼  

3.1.調用手機攝像頭並打開系統照相機全屏去拍攝  

實現效果圖: 1.一個按鈕“掃我” —— 2.點擊后打開系統照相機 —— 3.進入全屏拍攝,拍攝二維碼 —— 4.識別成功自動關閉照相機

3.1.1.導入#import “ZBarSDK.h" 然后實現相關協議  

調用系統相機全屏拍攝,使用的協議是<ZBarReaderDelegate>,自定義相機窗口使用的是<ZBarReaderViewDelegate>

3.1.2.在按鈕“掃我”的click方法里實現相關細節  

    //初始化相機控制器
    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];

 3.1.3.實現代理方法  

 

 

 

3.2.自定義照相機視圖的frame,自己控制並添加相關掃碼指南  

3.2.1.導入#import “ZBarSDK.h" 然后實現相關協議  

 

調用系統相機全屏拍攝,使用的協議是<ZBarReaderDelegate>,自定義相機窗口使用的是<ZBarReaderViewDelegate>
 

3.2.2.在按鈕“掃我”的click方法里實現相關細節  

     //初始化照相機窗口
    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];

 3.2.3.實現代理方法  

 

作者: 清澈Saup
出處: http://www.cnblogs.com/qingche/
本文版權歸作者和博客園共有,歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM