本章將講解如何實現二維碼掃描的功能
首先在github上下載ZBar SDK
地址https://github.com/bmorton/ZBarSDK
然后將如下的相關類庫添加進去
AVFoundation.framwork, CoreMedia.framework, CoreVideo.framework, libiconv.dylib 和libzbar.a
接下來首先在.h文件中引用
#import "ZBarSDK.h"
同時添加代理
ZBarReaderDelegate
然后在.m文件中添加如下代碼

1 -(void)sysbutbuttonclick{ 2 3 ZBarReaderViewController *reader = [ZBarReaderViewController new]; 4 reader.readerDelegate = self; 5 ZBarImageScanner *scanner = reader.scanner; 6 7 [scanner setSymbology: ZBAR_I25 8 config: ZBAR_CFG_ENABLE 9 to: 0]; 10 [self presentModalViewController: reader animated: YES]; 11 } 12 13 - (void) imagePickerController: (UIImagePickerController*) reader 14 didFinishPickingMediaWithInfo: (NSDictionary*) info 15 { 16 17 NSLog(@"info=%@",info); 18 // 得到條形碼結果 19 id<NSFastEnumeration> results =[info objectForKey: ZBarReaderControllerResults]; 20 ZBarSymbol *symbol = nil; 21 for(symbol in results) 22 // EXAMPLE: just grab the first barcode 23 break; 24 25 26 UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"信息提示!" message:symbol.data delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"確定", nil]; 27 [alert show]; 28 // 將獲得到條形碼顯示到我們的界面上 29 // resultText.text = symbol.data; 30 NSLog(@"%@",symbol.data); 31 // 掃描時的圖片顯示到我們的界面上 32 // resultImage.image = 33 // [info objectForKey: UIImagePickerControllerOriginalImage]; 34 35 // 掃描界面退出 36 //[reader dismissModalViewControllerAnimated: YES]; 37 }
然后需要觸發掃描事件的時候 就調用
sysbutbuttonclick 就可以 了