2011-11-01 2 views
0

그래서 저는 바코드 스캐닝을 위해 타사 라이브러리를 사용하고 있습니다 - 상점 비. 내가 뭘 하려는지 스캐너가 해제되면 모든 스캔 바코드와 함께 새로운 화면을 표시하는 것입니다. 다음과 같은 작업을했는데 새 화면을 가져 오지 않고 스캐너를 닫은 후에 원래 화면으로 되돌아갑니다.캔트 새로운 뷰 컨트롤러를 밀어 넣으십시오

내가 뭘 잘못하고 있니?

이 내 기본보기 컨트롤러에 : 나는이 방법으로 얻고 그 실행되고 있지만, 아무 일도 발생하지

- (void) scannerViewController:(SKScannerViewController *)scanner didRecognizeCode:(SKCode *)code { 
NSLog(@"didRecognizeCode = %@", code.rawContent); 

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); 

[self dismissModalViewControllerAnimated:YES]; //We're done scanning barcodes so we should dismiss our modal view controller. 

_codeInfoLabel.text = code.rawContent; 

[self showResults:code.rawContent]; 

} 

.

+0

네비게이션 컨트롤러에 먼저 resultsViewController를 추가하기 만하면 어떻게됩니까? –

+0

같은 일 - 아무 일도 일어나지 않습니다. – TommyG

+0

nib 파일을 가지고 있지 않다면'initWithNibName' 메쏘드를 사용하지 말고,'initWithFrame'instance? –

답변

1

이 유형의 작업을 수행하는 유일한 방법은 스캐너보기를 닫을 때 원래 컨트롤러로 다시 팝업하는 것입니다.

그런 다음 "보기가 나타납니다"에서 스캔 과정에서 설정 한 상태 유형을 확인하고 "스캐너 완료"와 같은 설정으로 설정할 수 있습니다. 그렇다면 결과 디스플레이를 시작하십시오.

+0

스캐너를 밀어 넣은 뷰의 "보기가 나타납니다"라는 의미입니까? (여기서 "스캔"버튼은?). 나는 그것에 대한 어떤 징후도 갖고 있지 않다는 것을 확신하지 못한다. 그러나 이론적으로 지금까지 최고의 해결책으로 들린다. – TommyG

+0

예, 그것이 제가 의미했던 것입니다. –

0

확실히 결과 페이지에는 새로운보기를로드하지 않고 해제하는 것이 좋습니다.

[self.navigationController popToViewController:resultsViewController animated:YES]; 
+0

앱이 다운 됨 ... – TommyG

관련 문제