【问题标题】:iOS 5 camera iris failing to openiOS 5 相机光圈无法打开
【发布时间】:2012-03-14 06:31:08
【问题描述】:

我有一个使用相机界面的自定义屏幕。每隔一段时间,屏幕就会“冻结”并关闭虹膜。摆脱这种锁定状态的唯一方法是退出应用程序。

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

【问题讨论】:

  • 我也遇到了同样的问题,请帮忙!这是一件非常随机的事情,我似乎找不到它背后的图案,它仍然最终会拍照,但虹膜只是保持关闭状态。
  • 可能与使用 MPMoviePlayerController 生成缩略图有关。在这里查看我的答案:stackoverflow.com/a/10677003/480467

标签: ios camera


【解决方案1】:

这通常发生在一些内存问题发生时。就像内存不足或者有时 UICameraPickerController 的 init 被一些错误的调用释放了。

减少或避免这种情况的最佳方法是,当您尝试在分配和初始化它时访问它,以及当您尝试从相机视图移动时,只需解除分配它。

即使应用程序进入后台即最小化解除分配 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.>

然后在picker的委托方法中获取图片时,imagePickerController:didFinishPickingMediaWithInfo在将图片存储到适当的属性或iVar后使用以下代码释放imagePicker的实例。

self.imagePicker = nil;

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

【讨论】:

  • 当然我会用一些代码编辑我的答案,这将显示我过去是如何使用它的:)。愿这对你有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多