6

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

4

2 回答 2

0

我今晚在相机预览中遇到了同样的问题,问题的根本原因是……应用程序委托中完全不相关的代码修改了后台队列上的 UI。

显然,无需花费太多时间就能解决 AVFoundation 所依赖的脆弱的内部变量。

一旦我从后台队列中消除了对 UI 代码的调用,相机预览就变得快速而可靠。

这篇文章 ( http://www.cocoanetics.com/2013/02/uiview-background-queue-debugging/ ) 对追踪从后台队列修改 UI 的位置非常有帮助。

我还建议您查看这个问题的答案(iOS 7 UIImagePickerController 有黑色预览

于 2014-09-11T02:19:52.547 回答
0

如果它随机发生,我怀疑这是内存问题。UIImagePickerController 中的图像相当大。如果您设法以某种方式操纵图像,您的记忆可能无法支持。

于 2013-12-17T11:31:38.337 回答