我有一个使用摄像头界面的自定义屏幕。屏幕经常以封闭的虹膜“冻结”。摆脱此锁定状态的唯一方法是退出应用程序。
是什么原因导致相机光圈像这样保持在关闭位置?
最佳答案
通常,发生某些内存问题时会发生这种情况。像内存不足或某些时候,UICameraPickerController
的初始化是由于对其的错误调用而释放的。
减少或避免这种情况的最佳方法是,无论何时尝试在分配和初始化时访问它,以及何时尝试从摄影机视图移动时,只需对其进行分配。
即使当应用程序进入后台(即最小化)时,也要重新分配UICameraPicker,而在进入前台(即最大化)时,再次对其进行重新分配。
基本上,我要做的是采用 .h 文件中声明的一个属性,如下所示:
@property (nonatomic, strong) UIImagePickerController *imagePicker;
然后在 .m 文件中,根据需要在“拍照片”按钮上对我进行合成。我使用以下代码显示图像选择器控制器。
if(self.imagePicker == nil || self.imagePicker == NULL)
imagePicker = [[UIImagePickerController alloc]init];
<Then put the code for use of picker.>
然后在将图像存储在适当的属性或iVar中之后,在选择器的委托方法中获取图像时,
imagePickerController:didFinishPickingMediaWithInfo
使用以下代码释放imagePicker的实例。self.imagePicker = nil;
这将为我解决问题。也许这也将帮助您解决自己的问题。
关于ios - iOS 5相机光圈无法打开,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9420051/