0

Ok。だから私はUIImagePickerControllerDelegateを実装するViewControllerを持っています。偉大な。また、ピッカーの上にオーバーレイ ビューがあります。上記のオーバーレイに、takePicture を呼び出したいボタンがあります。

私の質問は、これはどのように行われるのですか? takePicture は私が自分で書く必要があるものではないでしょうか。UIImagePickerController で定義されていますよね?

ピッカーはモーダルにポップアップ表示され、カメラを通して画像を見ることができますが、ボタンを押して写真を撮ろうとすると問題が発生します。

ボタンにこのコードを設定しました:

[button addTarget:self action:@selector(takePicture) forControlEvents:UIControlEventTouchUpInside];   

上記の場合、通常は NSException エラーが発生しますが、別のメソッドから takePicture を呼び出すと、単純に起動しません。

この一環として、ピッカー デリゲートをオーバーレイまたはピッカーを表示するビュー コントローラーに設定する必要がありますか?

また、オーバーレイとビュー コントローラーはヘッダーにピッカー デリゲートを実装する必要がありますか?

前もって感謝します。

4

1 に答える 1

1

takePictureメソッドはオブジェクト上にありますUIImagePickerController。今、あなたのボタンはtakePictureオーバーレイのViewControllerを呼び出していると思います。(そのコード行がどのメソッドに含まれているかを投稿しなかったため、はっきりとはわかりません。)

だからそれは

[button addTarget:picker action:@selector(takePicture) forControlEvents:UIControlEventTouchUpInside];

UIImagePickerController明らかに、これを機能させるには、コードでピッカー変数を;を指すように設定する必要があります。これを行う通常の方法は、メインビューコントローラーおよび/またはイメージピッカー自体へのポインターをアプリケーションデリゲートに格納することです。

イメージピッカーデリゲートを実装する必要があるクラスは1つだけです。あなたはそれをあなたが望むものに決めることができます。

于 2009-12-17T04:25:58.963 に答える