注:この問題は、XCodeのに関連していました。元の質問は正しいですが、タイトルは実際の問題を反映するように更新されています。XCodeの(4.2 - > 4.3)
私は、フォーム入力用のテーブルビューを使用していると私は私のテーブルに入力フィールドを追加するためのライブラリのようなものを作成しました。私が必要とする入力フィールドには、デバイスカメラを起動する画像キャプチャフィールドが必要です。
私は以下のようにインターフェイスを宣言しました。
@interface PhotoBlockCell : UITableViewCell < UINavigationControllerDelegate, UIImagePickerControllerDelegate >
画像キャプチャを開始するために、私は私のテーブルビューを収容する親ビュー・コントローラに戻って指してデリゲートを持っています。私は、次のようにUIImagePickerControllerを使ってデバイスカメラを起動します。
- (IBAction)addPhoto:(id)sender{
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == YES){
if ([sender isKindOfClass:[UIButton class]])
activeButton = (UIButton*)sender;
UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePicker.delegate = self;
[self.delegate presentModalViewController:imagePicker animated:YES];
}
}
これは問題なくデバイスカメラを起動しますが、結果の写真をキャプチャできないようです。ブレークポイントを追加すると、didFinishPickingMediaWithInfoが決して起動しないことを示しているようです。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
// button 1
if (activeButton == button1) {
photo1 = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
}
// dismiss the picker
[picker dismissModalViewControllerAnimated:YES];
}
ただし、ビューコントローラは終了しています。どのような問題が起こっているのでしょうか?