4

我已将 zxing 库集成到我的应用程序中,但我的部分要求是能够持续扫描 QR 码。我通过关闭并重新呈现 zxing 小部件在一定程度上实现了这一点,但它对我的客户来说似乎太慢了。是否有另一种方法可以重置小部件以再次开始扫描?

4

2 回答 2

13

您将不得不篡改 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];,因为它会删除扫描视图。

于 2011-06-23T06:04:36.600 回答
0

为什么不尝试另一个很棒的库 ZBar - http://zbar.sourceforge.net/
它很容易并且总是为我工作!如果您在应用程序中扫描二维码,您必须查看一下。

于 2011-06-23T05:17:47.723 回答