I've integrated the zxing library into my app but part of my requirement is to be able to continually scan QR codes. I've accomplished this to a certain degree by dismissing and re-presenting the zxing widget but it appears to be too slow for my client. Is there another way to reset the widget to start scanning again?
You will have to tamper with the ZXing library, fortunately it's not hard.
Add the following method to the ZXingWidgetController
In ZXingWidgetController.h
- (void)reset;
In ZXingWidgetController.m
- (void)reset
{
decoding = YES;
[overlayView setPoints:nil];
wasCancelled = NO;
}
Now, in your ZXing delegate, edit the following method
- (void)zxingController:(ZXingWidgetController*)controller didScanResult:(NSString *)result
{
//Handle your result as you want to
[controller reset];
}
Make sure you don't call [self dismissModalViewControllerAnimated:NO];
as it will remove the scanning view.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With