2012-05-17 47 views
6

我使用UIImagePickerController來拍攝圖像。我使用下面的代碼:UIImagePickerController給我一個黑色預覽

UIImagePickerController* UIPicker = [[UIImagePickerController alloc] init]; 
UIPicker.delegate = self; 
UIPicker.sourceType= UIImagePickerControllerSourceTypeCamera; 
[UIPicker setCameraCaptureMode:UIImagePickerControllerCameraCaptureModePhoto]; 
UIPicker.allowsEditing=NO; 
[self presentModalViewController:UIPicker animated:YES]; 
[UIPicker release]; 

的問題是,隨機我收到預覽爲黑屏,如果它發生一次,然後它永遠不會恢復,直到我們殺死並重新啓動應用程序。

我從UIImagePickerControllerDelegate得到正確的圖像,但我有UIImagePickerController有攝像頭作爲源類型的預覽此問題。

回答

0

如果它隨機發生,我懷疑這是一個記憶問題。來自UIImagePickerController的圖像相當大。如果你設法操縱圖像,你的記憶可能無法支持。

0

我遇到了今晚相機預覽的相同問題,問題的根本原因是......完全無關的代碼在應用程序委託中修改了後臺隊列上的UI。

顯然,它並不需要太多的東西來擾亂AVFoundation依賴的脆弱的內部變量。

一旦我從後臺隊列中取消了對UI代碼的調用,相機預覽變得快速而可靠。

這篇文章(http://www.cocoanetics.com/2013/02/uiview-background-queue-debugging/)在跟蹤從後臺隊列修改UI的位置非常有用。

我也建議你看看這個問題的答案(iOS 7 UIImagePickerController has black preview

相關問題