5

私のiPadアプリケーションでは、次のコードを使用してユーザーに画像を選択させています。

UIImagePickerController* picker = [[UIImagePickerController alloc] init]; 
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
picker.delegate = self; 

UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker];
self.popoverController = popover;          
popoverController.delegate = self;
[popoverController presentPopoverFromRect:self.view.frame
                                   inView:self.view
                 permittedArrowDirections:UIPopoverArrowDirectionAny
                                 animated:YES];
[picker release];

(クラスをUIPopoverControllerDelegateとUIImagePickerControllerDelegateの両方になるように設定し、両方のデリゲートのコールバックを設定しました。)

奇妙なことに、「保存された写真」フォトアルバムから画像を選択すると、「imagePickerController:didFinishPickingImage」コールバックメソッドが呼び出され、画像が取得され、すべてが正常に行われます。

しかし、他のアルバムのいずれかから画像を選択すると、「imagePickerControllerDidCancel」コールバックが呼び出され、画像が返されません。

何か案が?私はウェブを上下に検索しました...

ありがとう、ルーベン


プロットが厚くなります...

追加する場合:
allowsEditing = YES;

[保存した写真]アルバムから画像を選択(およびトリミング/拡大縮小)することはできますが、他のアルバムの画像を使用しようとすると、デバッガーが次のように表示されてiPadがクラッシュします。

2010-06-03 08:16:06.759 uPrintMobile [98412:207] *キャッチされなかった例外'NSInvalidArgumentException'が原因でアプリを終了しています、理由:' * -[NSCFDictionary setObject:forKey:]:nil値を挿入しようとしました(キー:UIImagePickerControllerOriginalImage) '

まだ手がかりはありません...

4

2 に答える 2

2

これは何ヶ月も後のことですが、同じ問題に苦労し、何度もここで尋ねられたのに、答えられなかったことがわかりました。さて、私はそれを理解したと言ってうれしいので、検索で最初に出てくるほぼ同一の質問のいくつかにそれを投稿しています。

私はここに完全な答えを投稿しました:
didFinishPickingMediaWithInfo return nil photo

于 2010-11-16T08:04:37.177 に答える
0

UIImagePickerControllerSourceTypePhotoLibrary デリゲートメソッドの他のオプションを試してみて、次のような条件を確認してください

`if( image is from photo library ) {
   // do something
} else if ( image from saved albums ) {
   // do something
}`
于 2010-11-15T06:17:48.357 に答える