1

ビューコントローラの合成プロパティとしてUIImagePickerControllerがあります。

一般的には問題なく動作します(写真の撮影/選択、コールバックなど)。ただし、メモリ警告を受信すると(ビューコントローラでdidReceiveMemoryWarningが呼び出されます)、アプリはそれを適切に処理しているように見えます(viewDidLoadは、無関係なビューなどなしでビューを再設定するために呼び出されます-アプリはクラッシュしません) UIImagePickerControllerを使用すると写真を撮ることができますが、UIImagePickerControllerのビュー(この場合はカメラ)は閉じられません。カメラは、[再撮影]ボタンと[使用]ボタンがグレー表示された状態で画面に表示されたままになります。

viewDidUnloadでself.imagePicker=nilを設定しようとしましたが、これを行わないようにしました(したがって、メモリ警告の後でそれを閉じる必要があるときに、View Controllerはそれを「忘れません」)。

メモリ警告の後に写真が撮影された後、imagePickerは正常にコールバックしますが(didFinishPickingMediaWithInfo)、imagePickerビューは画面に残ります。

任意のヘルプ/アイデアをいただければ幸いです。

4

1 に答える 1

3

コメントしてくれて、基本的に問題を解決してくれたKalleに感謝します。

答えは、viewDidUnloadでimagePickerがnilに設定されていないことを確認する必要があるだけでなく、didReceiveMemoryWarningでそれを削除/閉じる必要があるということでした。あなたが答えを知っているときはとても簡単です-doh!! ; o)

もう一度ありがとう、StackOverflow。

于 2010-07-02T12:30:17.023 に答える