2012-06-22 3 views
3

입니다. ZBarReaderView가 크기가 너무 크지 않으므로 대략 230x50 픽셀로 표시되는 216x20 픽셀로 스토리 보드에서 생성 된 ZBarReaderView가 있습니다 ... 모두 작동합니다 아주 잘, 그러나 그것은 독자적인 뷰에서 start를 호출 할 때 매우 이상하게 동작합니다. 그것은 카메라를 시작하지만 어쩌면 0.5 초 안에 readerView가 약간 확대되고 readerView 내부의 카메라 그림이 아래로 움직 인 다음 다시 위로 움직입니다. 끔찍한 것은 아니지만 다소 나 빠졌습니다. 누구든지이 문제를 일으킬 수있는 아이디어와 해결 방법을 알고 있습니까? 어쩌면 sdk에는 스캐너의 준비 상태에 대한 숨겨진 콜백이 있습니다. 스캐너가 준비가되었다고 표시하고 나서 .5 초 후 스캐너를 보여줄 때까지 숨길 수 있습니다.시작 후 움직이는 스토리 보드의 ZBarReaderView가

barcodeReader는 ZBarReaderView의 iboutlet입니다. scannerLoading은 스캐너가로드 될 때까지 움직이는 uiactivityindicatorview에 대한 아이오 팔렛입니다. 이것은 스토리 보드에 설정된 프레임을 제외하고는 기본값에서 변경되는 유일한 설정입니다.

[barcodeReader setReaderDelegate:self]; 
[barcodeReader setAllowsPinchZoom:false]; 
[barcodeReader start]; 

/* this works because [barcodeReader start] blocks ui updates until the scanner 
    is running, i know it's not a good solution but since there doesn't seem to 
    be a callback or delegate method like scannerDidStart or something it seems 
    to be the only way... */ 
[scannerLoading stopAnimating]; 

도움 주셔서 감사합니다. 스캐닝 바코드 리더 현재 : // ADD '

답변

3

문제가 해결됩니다 .hope 방법으로 `

:

ZBarReadview with custom size from StoryBoard,but when it's called,it's size is not I set

아마 대답 또한 문제를 해결합니다. 한마디로

: 뷰의 크기를 유지하기 위해, 카메라 이미지의 속성에서 "파단 클립"확인해야 뷰를 생성하고에 ZBarReaderView을 할당 인터페이스 빌더 또는 스토리 보드를 사용하여

.

+0

감사합니다. 문제가 발견되어 스토리 보드와 관련이 있습니다. 이것은 무엇이 일어났습니다 : XIB에서 스토리 보드로 전환하고 어떤 이유로 든 자동 크기 조정을 설정했습니다 ... – LNS

0

버튼 만 동작에 transparent.then로의 일부를 필요 갖는 화상을 갖는 화상 관점 cameraoverlayview로 만들기 위해 다른 뷰를 추가 카메라 피드

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 

[자기 presentModalViewController : 리더 애니메이션 : YES]; //appapp.navigationController pushViewController : reader animated : YES];

//[reader.view addSubview:collect]; 


[reader release];add this and then also add 

'- (무효) imagePickerController (UIImagePickerController를 *) 리더 didFinishPickingMediaWithInfo (NSDictionary와 *) 정보 { // 추가 : 디코드 ID 결과 = 결과 얻을 [정보 objectForKey : ZBarReaderControllerResults]; ZBarSymbol * symbol = nil; (결과의 기호) // 예 : 첫 번째 바코드 만 잡으십시오. 휴식;

[self rewards:symbol.data]; 

}이 난 그냥 보복 질문에 대한 답변을 게시

+0

죄송합니다. 아마도 제 질문을 잘 쓰지 않았지만 바코드 스캐너를 다른보기에 표시하고 크기가 230x50 픽셀이어야합니다. 이 모든 것이 완벽하게 작동하며 내가 원하는 방식으로 정확하게 나타납니다. 바코드도 올바르게 스캔됩니다.유일한 문제는 스캐너가 시작될 때 카메라의 이미지가 흔들리는 현상이 발생한다는 것입니다. – LNS