2012-02-23 94 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