2012-02-23 5 views
2

私はカメラインターフェイスを使用するカスタム画面を持っています。非常に頻繁に、画面は閉じたアイリスで「フリーズ」します。このロック状態から抜ける唯一の方法は、アプリを終了することです。iOS 5カメラアイリスが開けません

カメラのアイリスがこのように閉じたままになる原因は何ですか?

+1

私も同じ問題を抱えています。助けてください!それは非常にランダムなことです、私はそれの後ろにパターンを見つけることができない、それはまだ写真を撮ることに終わるが、虹彩は閉じたままです。 – Jag

+0

サムネイルを生成するためのMPMoviePlayerControllerの使用に関連する可能性があります。私の答えはここを参照してください:http://stackoverflow.com/a/10677003/480467 –

答えて

1

通常、これはメモリの問題が発生した場合に発生します。低メモリや何度かのように、UICameraPickerControllerのinitは、間違った呼び出しによって解放されています。

これを減らすまたは避ける最善の方法は、alloc時にそれにアクセスし、それを初期化するときや、カメラビューから移動しようとするときにdeallocだけを試みるときです。

アプリがバックグラウンド、つまり最小化されたdeallocになっても、UICameraPickerを入力してフォアグラウンドに入ると、つまり最大化し直して再度リアオックします。上の私のために、必要なときに

@property (nonatomic, strong) UIImagePickerController *imagePicker; 

その後.Mファイルでそれを合成、:


は基本的に私は何をすべきか、私は一つの特性は以下のようにの.hファイルで宣言取る、です「写真を撮る」ボタンのタップ。私は画像ピッカーコントローラを表示するためにcoedを使います。適切なプロパティまたはイヴァーimagePickerのインスタンスを解放するために、次のコードを使用して画像を保存した後、ピッカーのデリゲートメソッド、imagePickerController:didFinishPickingMediaWithInfoで画像を得ることに

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

そして。

self.imagePicker = nil; 

これは私の問題を解決します。これもあなたのものを解決するのに役立ちます。

+0

確かに私はいくつかのコードで私の答えを編集します、それは私がそれをどのように使用するかを示します:)。それがあなたに役立つかもしれません。 –

関連する問題