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/
本文版權歸作者和博客園共有,歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接。
