2013-05-30 21 views
1

我想創建應用程序的掃描圖書條形碼,但是當我能成功掃描條碼,然後ZBarReaderViewController不imagePickerController didFinishPickingMediaWithInfo委託解僱,我在收到警告:不關閉imagePickerController中的ZBarReaderViewController didFinishPickingMediaWithInfo?

警告:嘗試從視圖控制器解僱而介紹或解僱 正在進行中!

- (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 
    }]; 
} 
相關問題