我在我的一个项目中使用ZBar iPhone SDK(iOS SDK 5.1,XCode 4.4.1和运行iOS 5.5.1的设备)。我正在使用SDk本身提供的示例中的嵌入式扫描仪。
现在我面临的问题是我成功扫描条形码并移动到另一个视图控制器(使用导航控制器)。当我回来(弹出第二个视图控制器)时,扫描仪即 ZBarReaderView 不扫描后续条形码,实际上叠加显示扫描条形码的模糊图像,永远无法扫描正常。
这就是我实施的所有内容。在BarScannerViewController.h
我声明了
ZBarReaderView* readerView;
有财产
@property (nonatomic , retain) IBOutlet UIImageView* imgvScannedBarCode;
现在它已连接到xib中的一个视图。
最后我使用如下设置所需的方法 -
- (void)viewDidLoad {
[super viewDidLoad];
// the delegate receives decode results
readerView.readerDelegate = self;
[readerView start];
}
- (void) viewDidAppear: (BOOL) animated {
// run the reader when the view is visible
[activityIndicatorScanning startAnimating];
[readerView start];
}
- (void) viewWillDisappear: (BOOL) animated {
[activityIndicatorScanning stopAnimating];
[readerView stop];
}
当我扫描任何条形码时所有这些设置首次说EAN123我接到回电
- (void) readerView: (ZBarReaderView*) view
didReadSymbols: (ZBarSymbolSet*) syms
fromImage: (UIImage*) img
{
// do something useful with results
ZBarSymbol *symbol = nil;
for(symbol in syms) {
barCodeFound = YES;
break;
}
// EXAMPLE: do something useful with the barcode data
NSLog(@"%@",symbol.data);
}
但是在后续运行中(在我推动视图并再次返回此屏幕后),我的视图模糊。
我在这里遗漏了什么吗?任何帮助/建议/评论都会有所帮助。
答案 0 :(得分:0)
这是我用来启动(并无休止地重启)扫描仪的代码。有趣的是,我注意到我从未停止扫描,但它的工作非常可靠。
- (void) startScan
{
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
ZBarImageScanner *scanner = reader.scanner;
[scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
// present and release the controller
[self presentViewController:reader animated:YES completion:nil]; // Modal
[reader release];
}
答案 1 :(得分:0)
我可以通过在项目中重新配置SDK来解决Blur问题。我按照ZBarSDk上提供的嵌入式扫描程序示例进行操作。我想我可能在早点配置时错过了一些必要的设置。