2012-05-17 4 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)