【发布时间】:2011-06-23 01:49:57
【问题描述】:
我已将 zxing 库集成到我的应用程序中,但我的部分要求是能够持续扫描 QR 码。 通过关闭并重新呈现 zxing 小部件,我已经在一定程度上实现了这一点,但它对我的客户来说似乎太慢了。 还有其他方法可以重置小部件以再次开始扫描吗?
【问题讨论】:
我已将 zxing 库集成到我的应用程序中,但我的部分要求是能够持续扫描 QR 码。 通过关闭并重新呈现 zxing 小部件,我已经在一定程度上实现了这一点,但它对我的客户来说似乎太慢了。 还有其他方法可以重置小部件以再次开始扫描吗?
【问题讨论】:
您将不得不篡改 ZXing 库,幸运的是这并不难。
在 ZXingWidgetController 中添加如下方法
在 ZXingWidgetController.h 中
- (void)reset;
在ZXingWidgetController.m中
- (void)reset
{
decoding = YES;
[overlayView setPoints:nil];
wasCancelled = NO;
}
现在,在您的 ZXing 委托中,编辑以下方法
- (void)zxingController:(ZXingWidgetController*)controller didScanResult:(NSString *)result
{
//Handle your result as you want to
[controller reset];
}
确保您不要调用[self dismissModalViewControllerAnimated:NO];,因为它会删除扫描视图。
【讨论】:
为什么不尝试另一个很棒的库 ZBar - http://zbar.sourceforge.net/
它很容易,总是为我工作!如果您在应用中扫描二维码,您必须查看一下。
【讨论】: