私のアプリには、ビューコントローラー(.xib)とクラスを作成したいくつかのカスタマイズセルを作成するテーブルビューコントローラーがあります。それらのセルの1つに、ユーザーに画像ピッカーを提示することを想定したメソッドをトリガーするボタンがあります(「内側のタッチアップ」で)。メディアピッカーを表示するためにドキュメントのアップル標準コードを使用しましたが、機能していないようです。セルをメディアピッカーの作成元のデリゲートとビューコントローラーの両方として、およびメディアピッカーのデリゲートとして使用しようとしましたが、機能していないようです。また、セルが作成されたUITableViewのオブジェクトを誘導し、それをデリゲートおよびビューコントローラーとして使用してみましたが、これも機能しません。関連するメソッドのコードを追加しました。それを行う方法について何かアドバイスはありますか?
ボタンを処理するメソッド'内部のタッチアップ"(カスタムセルクラスのメソッドhis):
- (IBAction)TakeNewPicture:(id)sender {
[self startCameraControllerFromViewController:self usingDelegate:self];
}
startCameraController ...メソッド(セルのクラスにもあります):
- (BOOL) startCameraControllerFromViewController: (UIViewController*) controller
usingDelegate: (id <UIImagePickerControllerDelegate,
UINavigationControllerDelegate>) delegate {
if (([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeCamera] == NO)
|| (delegate == nil)
|| (controller == nil))
return NO;
UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;
// Displays a control that allows the user to choose picture or
// movie capture, if both are available:
cameraUI.mediaTypes =
[UIImagePickerController availableMediaTypesForSourceType:
UIImagePickerControllerSourceTypeCamera];
// Hides the controls for moving & scaling pictures, or for
// trimming movies. To instead show the controls, use YES.
cameraUI.allowsEditing = YES;
cameraUI.delegate = delegate;
[controller presentModalViewController: cameraUI animated: YES];
//[[[[UIApplication sharedApplication] keyWindow] rootViewController] presentModalViewController:cameraUI animated:YES];
return YES;
}
御時間ありがとうございます!どんなサポートも大歓迎です:](Objective-cスタイルのスマイリー)