2011-12-28 64 views
5

當我工作的一個應用程序,如果他想掃描條形碼或採取的東西的圖片,用戶可以選擇失去自動對焦。 爲了拍攝照片,我照常使用UIImagePickerController。 對於掃描條形碼,我使用ZbarSDK 1.2 ZBarReaderViewControlleriPhone相機使用ZBarSDK

拍照時,一切都很完美。 當掃描條碼: 如果你啓動應用程序和之前掃描條形碼拍照,它也可以完美運行。

不過是你拍張照片,然後回去嘗試掃描條形碼,相機無法自動對焦,並掃描條形碼,它只是不可能的。

總結:
開始 - >掃描 - >自動對焦工作
開始 - >拍攝照片 - >返回 - >掃描 - >自動對焦工作不

這是我的初始化條碼掃描器:

-(ZBarReaderViewController *) barcodeScanner 
{ 
    if (nil == _barcodeScanner) 
    { 
     _barcodeScanner = [ZBarReaderViewController new]; 
     _barcodeScanner.readerDelegate = self; 
     _barcodeScanner.cameraMode = ZBarReaderControllerCameraModeSampling; 
     _barcodeScanner.sourceType = UIImagePickerControllerSourceTypeCamera; 
    } 
    return _barcodeScanner; 
} 

任何想法?

回答

4

之前加載了ZBarReaderViewController確保你釋放的UIImagePickerController,你加載的UIImagePickerController前請確保你釋放ZBarReaderViewController。

我用了幾天弄清楚爲什麼我一直在失去專注的能力,並證明,我沒有釋放的東西。對於其他人磕磕絆絆回答這個問題......一次只能有1個AVCaptureSession,否則事情就會變得棘手,而你失去了專注的能力。 ZBarReaderViewController使用AVCaptureSession,因此請確保在初始化新的AVCaptureSession之前釋放它。

+1

我會盡力...我已經達到和平與事實,我不會得到這個答案... – 2012-03-11 11:16:42

0

我會更深入地觀察拍攝照片的實現。嘗試檢查拍攝照片時是否正確關閉資源。我不認爲zbar和實施了任何與它...

+0

的一點是 - 我沒有執行「拍照」 ......我只是初始化的UIImagePickerController,模態呈現,並得到回調拍攝照片時的感覺。我自己並沒有做任何奇特的東西。 – 2012-01-01 12:17:53

1

我們都面臨着同樣的問題與zbar和我們通過把一個2秒延遲解僱模型視圖之前解決它。