我正在使用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 :(得分:0)
如果它随机发生,我怀疑它是一个内存问题。 UIImagePickerController中的图像非常大。如果你设法以某种方式操纵图像,你的记忆可能无法支持。
答案 1 :(得分:0)
我今晚在相机预览中遇到了同样的问题,问题的根本原因是......在代理委托中完全不相关的代码修改了后台队列上的UI。
显然,AVFoundation所依赖的脆弱的内部变量并没有太大的帮助。
一旦我从后台队列中删除了对UI代码的调用,相机预览变得快速可靠。
这篇文章(http://www.cocoanetics.com/2013/02/uiview-background-queue-debugging/)非常有助于跟踪从后台队列中修改UI的位置。
我还建议您查看此问题的答案(iOS 7 UIImagePickerController has black preview)