在我的代码中,我初始化了 ZBarReaderViewController
用于二维码扫描。
我需要检测用户何时退出QR 扫描 过程而不扫描任何二维码。
有什么方法可以让我知道用户何时退出该进程(通过单击 View 中的取消按钮)并在 ZBarReaderViewController
被关闭后立即执行某些操作?
提前致谢。非常感谢任何信息!
下面是我通过点击按钮触发二维码扫描过程的代码。
-(IBAction)nextBtn:(id)sender{
NSLog(@"trigger QR CODE");
if(!reader)
{
reader = [[ZBarReaderViewController alloc]init];
reader.readerDelegate = self;
reader.supportedOrientationsMask = ZBarOrientationMaskAll;
ZBarImageScanner *scanner = reader.scanner;
// TODO: (optional) additional reader configuration here
// EXAMPLE: disable rarely used I2/5 to improve performance
[scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
UIView * infoButton = [[[[[reader.view.subviews objectAtIndex:2] subviews] objectAtIndex:0] subviews] objectAtIndex:3];
[infoButton setHidden:YES];
}
// present and release the controller
[self.view addSubview:spinner];
[self.view setUserInteractionEnabled:NO];
[spinner startAnimating];
[self presentViewController:reader animated:YES completion:NULL];
}
这就是我在用户扫描时捕获二维码的方式。
- (void) imagePickerController: (UIImagePickerController*) imageReader
didFinishPickingMediaWithInfo: (NSDictionary*) info
{
// ADD: get the decode results
id<NSFastEnumeration> results =
[info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// EXAMPLE: just grab the first barcode
break;
NSString *receiptData = [NSString stringWithFormat:@"%@@-!-@%@", amountLabel.text, receiptLabel.text];
isClosed = YES;
NSLog(@"Completion");
[reader dismissViewControllerAnimated:YES completion:^{
[self BPUpdateTokenCollection:receiptData qrData:symbol.data];
[reader.readerView stop];
for(UIView *subViews in reader.view.subviews)
[subViews removeFromSuperview];
[reader.view removeFromSuperview];
reader.view = nil;
reader = nil;
}];
}
最佳答案
试试这个
@protocol ZBarReaderDelegate <UIImagePickerControllerDelegate>
ZBarReaderDelegate is nothing but UIImagePickerControllerDelegate
- (void) imagePickerControllerDidCancel: (UIImagePickerController*) picker{
//Cancelled
//Do your stuff here
}
关于iOS ZBarSDK 如何检测用户何时关闭二维码扫描器(ViewController),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23755362/