|
本帖最后由 Koson 于 2014-11-21 16:30 编辑
在自己的iPhone App中,多个Project都使用到了扫描二维码的地方,这个ZbarSDK很强大,但是界面却的确很丑,经过多次的开发经验,总算可以很好的驾驭这个SDK了。下面粗略讲一讲如何使用这个ZbarSDK来实现扫描二维码吧,读者有任何意见可以通过QQ或者Email和我一同交流。QQ:674946329,Email便是QQ邮箱了。看代码吧。
1、 去下载SDK: 官方教程:
2、新建你的IOS Project。
3、导入ZbarSDK,直接拖动你下载的ZbarSDK到你的项目,并且选择copy选项。
4、添加如下framework
5、在appDelegate文件的以下方法中加入如下:- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- //your code
- [ZBarReaderView class];
- return YES;
- }
复制代码 6、在你需要使用扫描功能的ViewController.h文件添加如下:- #import <UIKit/UIKit.h>
- #import "ZBarSDK.h"
- @interface ScanViewController : UIViewController<ZBarReaderViewDelegate>
- {
- ZBarReaderView *readerView;
- ZBarCameraSimulator *cameraSim;
- }
- @property (retain, nonatomic) IBOutlet ZBarReaderView *readerView;
- @end
复制代码 7、在你需要使用扫描功能的ViewController.m文件添加如下:- #import "ScanViewController.h"
- @interface ScanViewController ()
- @end
- @implementation ScanViewController
- @synthesize readerView;
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- //your code
- readerView.readerDelegate = self;
- [readerView setAllowsPinchZoom:YES];
- if (TARGET_IPHONE_SIMULATOR) {
- cameraSim = [[ZBarCameraSimulator alloc] initWithViewController:self];
- cameraSim.readerView = readerView;
- }
- }
- -(void)viewDidAppear:(BOOL)animated
- {
- [readerView start];
- }
- -(void)viewDidDisappear:(BOOL)animated
- {
- [readerView stop];
- }
- -(void) readerView:(ZBarReaderView *)readerView didReadSymbols:(ZBarSymbolSet *)symbols fromImage:(UIImage *)image
- {
- NSString *codeData = [[NSString alloc] init];;
- for (ZBarSymbol *sym in symbols) {
- codeData = sym.data;
- break;
- }
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"掃描結果" message:codeData delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
- [alert show];
- }
- -(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
- {
- // 得到条形码结果
- id<NSFastEnumeration> results =
- [info objectForKey: ZBarReaderControllerResults];
- ZBarSymbol *symbol = nil;
- for(symbol in results)
- break;
- //获得到条形码
- //NSString *dataNum=symbol.data;
- //扫描界面退出
- [picker dismissModalViewControllerAnimated: YES];
- }
复制代码 8、至于需要如何美化你的扫描界面或者其他的使用方式,将在以后的帖子中继续探讨。
9、最终界面上一张粗糙的模拟器截图:
最后感谢苏飞老大提供交流平台,祝愿这个论坛越办越红火,希望大家多多交流。
By: Koson
QQ:674946329
QQ邮箱:674946329@qq.com
|
|