iPhoneアプリケーションにライブカメラ機能を実装しようとしていますが、問題が発生しています。基本的に、その構造は次のとおりです。ユーザーがテーブルビューと(1つを選択すると)詳細ビューを使用して画像に移動できるUINavigationControllerを提供します。
次に、ボタンをクリックして、カメラで新しい写真を撮ることができます。理想的には、写真を撮ったりキャンセルしたりした後、ナビゲーションルートに戻って画像が再び表示されるようにする必要があります。このために、メインの詳細ビューコントローラ内にUIImagePickerControllerデリゲートを実装しています。
最後のビット(写真などにアクセスできます)を除いて、すべて正常に実装されていますが、最初のリストに戻ろうとすると、popToRootViewControllerAnimatedを使用してEXC_BAD_ACCESS
エラーが発生します。関連するコードの縮小版を次に示します(didFinishPickingMediaWithInfo
...imagePickerControllerDidCancel
同じように機能します)。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
// Do some image processing stuff here...
[picker dismissModalViewControllerAnimated:YES];
[picker release];
[self.navigationController popToRootViewControllerAnimated:YES];
}
最後の行をコメントアウトすると機能しますが、リストではなく、元の写真の詳細ビューに戻ります。
誰?
更新:前に言及しなかった詳細...実際、ポップはある程度機能しているように見えます。カメラピッカーが閉じられ、リストに戻ります。ただし、それはアプリが停止するときです(ユーザーが前にタップした場所から、選択されたテーブルセルはまだ青色です)。代わりに使用してみたところpopViewControllerAnimated
、まったく同じ結果になりました。