2012-02-23 93 views
2

我有一个使用相机界面的自定义屏幕。每隔一段时间,屏幕就会“闭上”一个闭合的虹膜。摆脱这种锁定状态的唯一方法是退出应用程序。iOS 5相机光圈无法打开

什么可能导致相机光圈保持在这样的关闭位置?

+1

我有同样的问题,请帮助!这是一个非常随机的东西,我似乎无法找到它背后的模式,它仍然最终拍摄一张照片,但虹膜仍然关闭。 – Jag 2012-02-29 18:05:14

+0

它可能与使用MPMoviePlayerController生成缩略图有关。看到我的答案在这里:http://stackoverflow.com/a/10677003/480467 – 2012-12-27 14:22:51

回答

1

通常情况下,发生内存问题时会发生这种情况。像内存不足或有些时候UICameraPickerController的初始化通过一些错误的调用被释放。

减少或避免这种情况的最好办法是,当你试图在alloc和init时访问它,并且当你尝试从摄像机视图移动时,它就会释放它。

即使应用程序进入背景,即最小化dealloc UICameraPicker和进入前景,即最大化它再次分配它。


基本上我做的是,我参加.H文件如下一个属性声明:在需要的时候

@property (nonatomic, strong) UIImagePickerController *imagePicker; 

然后在的.m文件合成它,对我来说点击“拍照”按钮。我使用以下coed来显示图像选择器控制器。

if(self.imagePicker == nil || self.imagePicker == NULL) 
    imagePicker = [[UIImagePickerController alloc]init]; 
<Then put the code for use of picker.> 

,然后在选择器的委托方法获取图像,imagePickerController:didFinishPickingMediaWithInfo中的财产或伊瓦存储图像后,使用下面的代码来释放imagePicker的实例。

self.imagePicker = nil; 

这将为我解决问题。愿这也能帮助你解决你的问题。

+0

当然,我会用一些代码编辑我的答案,这将显示我曾经如何使用它:)。愿这对你有用。 – 2013-07-13 05:22:42