1
我已被使用的條形碼的scanning.I iPad應用正在使用ZBarSDK用於掃描barcodes.Like此我提出的掃描view.`在iPhone中掃描很多次後,條形碼readerview會出現兩次?
// ADD: present a barcode reader that scans from the camera feed
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
reader.supportedOrientationsMask = ZBarOrientationMaskAll;
reader.sourceType=UIImagePickerControllerSourceTypeCamera;
//reader.cameraDevice = UIImagePickerControllerCameraDeviceFront;
reader.cameraOverlayView=cameraOverlay;
if([UIImagePickerController isCameraDeviceAvailable: UIImagePickerControllerCameraDeviceFront ])
{
reader.cameraDevice = UIImagePickerControllerCameraDeviceFront;
}
ZBarImageScanner *scanner = reader.scanner;
reader.wantsFullScreenLayout = YES;
// 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];
reader.showsZBarControls = NO;
// present and release the controller
[self temporarilyHideStatusBar];
if(fromscan==YES)
{
[self presentModalViewController:reader animated:NO];
}
else
{
[self presentModalViewController:reader animated:YES];
}
[reader.view addSubview:back];
[back addTarget:self action:@selector(backpressed:) forControlEvents:UIControlEventTouchUpInside];
[reader release];
隨後
- (void) imagePickerController: (UIImagePickerController*) reader
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;
//commented blues
NSLog(@"%@",symbol.data);
[self sdsdsd:symbol.data];
[reader dismissModalViewControllerAnimated:YES];
}
sdssd被我的功能是拍攝這些數據。所有的工作都很完美。但是我的問題是掃描一段時間後,按下掃描覆蓋層的按鈕即將到來,但不允許掃描,覆蓋層內有不同的綠色寄宿生。當我們取消正在顯示,就像掃描已經完成。那是在我下一個頁面goi來自掃描。有誰知道爲什麼會發生這種情況?
我想你的應用程序可能有實際加載的掃描儀控制器連續兩次導致掃描儀看起來像它不工作。嘗試添加布爾標誌來執行類似if(!scannerVisible){scannerVisible = YES; [self showScanner]; }以防止雙重上升。 – Zhang