2013-05-30 10 views
1

나는 스캔 도서 바코드에 대한 응용 프로그램을 만들 싶지만 성공적으로 바코드를 스캔 할 때, 다음 ZBarReaderViewController imagePickerController didFinishPickingMediaWithInfo 위임에 해고하지 내가 점점 경고 :imagePickerController didFinishPickingMediaWithInfo에서 ZBarReaderViewController를 닫지 않습니까?

경고 : 뷰 컨트롤러에서 해산을 시도하는 동안 발표 또는 기각 이 진행 중입니다!

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults]; 
    ZBarSymbol *symbol = nil; 
    for(symbol in results) 
     // EXAMPLE: just grab the first barcode 
     break; 
    // EXAMPLE: do something useful with the barcode data 
    resultLable.text = symbol.data; 
    isbnResultString=symbol.data; 
    NSLog(@"isbnResultString-----%@",isbnResultString); 
    isbnLableText.text=isbnResultString; 
    NSLog(@"%@",[info objectForKey: UIImagePickerControllerOriginalImage]); 
    // EXAMPLE: do something useful with the barcode image 
    barCodeImageView.image=[info objectForKey: UIImagePickerControllerOriginalImage]; 
    // ADD: dismiss the controller (NB dismiss from the *reader*!) 
    [self dismissViewControllerAnimated:YES completion:nil]; 

    if (isbnResultString.length!=0) 
    { 
     if(![self connectedToInternet]) 
     { 
      [appDelagate showActivityIndicator]; 
      appDelagate.isNetConnected=NO; 
      [self internetAlert]; 
     } 
     else 
     { 
      [self getBookDetailsByISBN:symbol.data]; 
     } 
    } 
} 

어떻게 ZBarReaderViewController를 닫?

+0

게시물 코드보기 컨트롤러를 어떻게 무시 하시겠습니까? – Rushabh

+0

이 코드 줄을 사용할 수도 있지만 이것은 유용하지 않습니다 ... – vijay

답변

1

동일한 문제가 있고 performSeletor : withObject : afterDelay :가 제대로 작동합니다.

- (void)imagePickerController:(UIImagePickerController *)reader didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    // do some userful stuff 

    [self performSelector:@selector(dismissZBar) withObject:nil afterDelay:1]; 
} 

- (void)dismissZBar { 
    [self.presentedViewController dismissViewControllerAnimated:YES completion:^{ 
     // do some stuff after dismiss 
    }]; 
}