Xcode ipad 4上的ZBar扫描,设置scancrop
我正在尝试使用ZbarSDK在iPad4上进行扫描工作。以下内容在iPhone上可以正常工作,但在iPad4上,即使自动对焦,它也无法读取条形码。当我没有设置cameraoverlayview/scanregion和scancrop时,我确实看到它使用整个屏幕读取条形码。但是,当我设置希望用户用来扫描条形码的扫描区域时,它根本不读取Xcode ipad 4上的ZBar扫描,设置scancrop,xcode,barcode-scanner,zbar,xcode6.1,ios8.1,Xcode,Barcode Scanner,Zbar,Xcode6.1,Ios8.1,我正在尝试使用ZbarSDK在iPad4上进行扫描工作。以下内容在iPhone上可以正常工作,但在iPad4上,即使自动对焦,它也无法读取条形码。当我没有设置cameraoverlayview/scanregion和scancrop时,我确实看到它使用整个屏幕读取条形码。但是,当我设置希望用户用来扫描条形码的扫描区域时,它根本不读取 -(void) initScanner { self.readerDelegate = self; self.supportedOrientationsMask
-(void) initScanner
{
self.readerDelegate = self;
self.supportedOrientationsMask = ZBarOrientationMaskAll;
readerView = [readerView initWithImageScanner:scanner];
[self.scanner setSymbology: ZBAR_CODE39
config: ZBAR_CFG_ENABLE
to: 1];
[self.scanner setSymbology: ZBAR_CODE128
config: ZBAR_CFG_ENABLE
to: 1];
[self.scanner setSymbology: ZBAR_QRCODE
config: ZBAR_CFG_ENABLE
to: 0];
[self.scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
[self.scanner setSymbology:ZBAR_EAN13 config:ZBAR_CFG_EMIT_CHECK to:0];
[self.scanner setSymbology:ZBAR_UPCA config:ZBAR_CFG_EMIT_CHECK to:0];
self.showsZBarControls=NO;
self.tracksSymbols =true;
self.readerView.zoom = 1.0;
self.readerView.torchMode=NO;
cameraOverlayView = [[UIView alloc] initWithFrame:self.view.frame];
UIImageView *overlayReticle = [[UIImageView alloc] initWithFrame:CGRectMake(10,50,300,130)];
[overlayReticle setImage:[UIImage imageNamed:@"scannOverlay.png"]];
[cameraOverlayView addSubview:overlayReticle];
scanRegionView = [[UIView alloc] initWithFrame:CGRectMake(10,102,300,30)];
[cameraOverlayView addSubview:scanRegionView];
UIButton *torchButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
torchButton.frame = CGRectMake(cameraOverlayView.frame.origin.x, 200, 100, 30);
[torchButton setTitle:@"Torch" forState:UIControlStateNormal];
[torchButton addTarget:self action:@selector(toggleTorch:) forControlEvents:UIControlEventTouchUpInside];
torchButton.backgroundColor= [UIColor clearColor];
torchButton.tag = 99;
[cameraOverlayView addSubview:torchButton];
self.cameraOverlayView=cameraOverlayView;
self.scanCrop=[self getScanCropRectBasedOnTargetOverlayCropRect:scanRegionView.frame forOverlayViewSize:cameraOverlayView.frame.size];
}
然后我用这段代码来计算扫描裁剪值。尽管它可以在iPhone上运行,但在iPad4上却不行。在计算ScCoprp的时候,我还有什么需要考虑的吗?p>
谢谢。好的,我解决了这个问题。我必须将iPad的会话预设设置为AVCaptureSessionPreset1920x1080
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
self.readerView.session.sessionPreset = AVCaptureSessionPreset1920x1080;
}