ZBar SDK有两种使用方式:
1)直接调用 ZBarReaderViewController 打开一个扫描界面;
2)ZBar SDK提供的可以嵌入其他视图的ZBarReaderView(建议使用该方式,高度可自定义界面);
协议ZBarReaderViewDelegate
实现delegate 方法
-(void)readerView:(ZBarReaderView *)readerView didReadSymbols:(ZBarSymbolSet *)symbols fromImage:(UIImage *)image{
const zbar_symbol_t *symbol = zbar_symbol_set_first_symbol(symbols.zbarSymbolSet);
NSString *symbolStr = [NSString stringWithUTF8String: zbar_symbol_get_data(symbol)];
NSLog(@"code : %@", symbolStr);
if (zbar_symbol_get_type(symbol) == ZBAR_QRCODE) {
//这里写获取qrcode数据后操作
/* _imageView.image=image;
_imageView.contentMode=UIViewContentModeScaleAspectFit;
_lable.text=symbolStr;
[self.codeReaderView stop];
[self.codeReaderView removeFromSuperview];*/
}
}
设置
self.codeReaderView = [[ZBarReaderView alloc] init];
self.codeReaderView.frame = CGRectMake(0, 0, frameWidth, frameHeight);
self.codeReaderView.readerDelegate = self;
self.codeReaderView.allowsPinchZoom = NO;
self.codeReaderView.torchMode = 0;
self.codeReaderView.tracksSymbols = NO;
[self.codeReaderView start];
[self.view addSubview: self.codeReaderView];