1
- (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에 의해 view.`
// 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];
수행 한 검사입니다 제시하고있다 그 데이터를 가져 오는 나의 기능. 완벽하게 작동하는 모든 r.하지만 내 문제는 오버레이 스캔을 위해 눌려진 버튼이오고 있지만 스캔을 허용하지 않을 때 언젠가 스캔 한 후입니다. 그 오버레이 내부의 녹색 경계선이 다릅니다. 스캔이 이미 완료된 것처럼 보이고 있습니다. 다음 페이지에 나옵니다. 스캔에서. 아무도 왜 이것이 일어나고 있는지 알 수 있습니까?
실제로는 작동하지 않는 것처럼 표시 스캐너를 일으키는 두 번 연속 스캐너 컨트롤러를로드하십시오. 부울 플래그를 추가하여 if (! scannerVisible) {scannerVisible = YES; [self showScanner]; } 두 번 올리는 것을 막기 위해. – Zhang