0

我在 iPhone 中使用 ZBarCode 阅读器时遇到了一个小问题,我已经实现了 ZBarCode 并且它工作成功,但是有时它通常在扫描条形码后的开头添加一个整数值 0,因此有时结果并不准确,如果我做错了什么,请告诉我。

4

2 回答 2

0

对于条形码和二维码扫描,我创建了完整的详细教程并发布了示例代码。它每次都给我完美的信息。

iPhone教程中如何使用条码扫描仪(BR和QR)(使用ZBar)

这里是核心逻辑。

startScanning 方法体这样

- (IBAction)startScanning:(id)sender {

    NSLog(@"Scanning..");    
    resultTextView.text = @"Scanning..";

    ZBarReaderViewController *codeReader = [ZBarReaderViewController new];
    codeReader.readerDelegate=self;
    codeReader.supportedOrientationsMask = ZBarOrientationMaskAll;

    ZBarImageScanner *scanner = codeReader.scanner;
    [scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0];

    [self presentViewController:codeReader animated:YES completion:nil];    

}

实现ZBar的Delegate方法

- (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info
{
    //  get the decode results
    id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];

    ZBarSymbol *symbol = nil;
    for(symbol in results)
        // just grab the first barcode
        break;

    // showing the result on textview
    resultTextView.text = symbol.data;    

    resultImageView.image = [info objectForKey: UIImagePickerControllerOriginalImage];

    // dismiss the controller 
    [reader dismissViewControllerAnimated:YES completion:nil];
}
于 2013-09-02T12:29:25.117 回答
0

你能发布你正在使用的代码吗?也许您正在使用旧的裁判?在解析新的扫描数据之前,确保所有引用都指向 nil 值。

于 2013-09-02T11:30:28.563 回答