2

UIImagePickerController を呼び出して、カメラを介して画像を選択するか、電話の写真ライブラリを介して画像を選択するかを人々に提供する iPhone アプリがあります。問題は、didFinishPickingImage デリゲート メッセージによって返されるはずの editInfo ディクショナリ オブジェクトが、時々 (常に複製できるとは限りません)、空白または (null) に戻ることです。他の誰かがこれを見たことがありますか?

.h ファイルに UIImagePickerControllerDelegate を実装しており、didFinishPickingImage と imagePickerControllerDidCancel の 2 つのデリゲート メソッドを正しく実装しています。

どんな助けでも大歓迎です。前もって感謝します!

これが私のコードです...

私の.hファイル:

@interface AddPhotoController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate> {
  IBOutlet UIImageView *imageView;
  IBOutlet UIButton *snapNewPictureButton;
  IBOutlet UIButton *selectFromPhotoLibraryButton;
}
@property (nonatomic, retain) UIImageView *imageView;
@property (nonatomic, retain) UIButton *snapNewPictureButton;
@property (nonatomic, retain) UIButton * selectFromPhotoLibraryButton;

私の.mファイル:

@implementation AddPhotoController
@synthesize imageView, snapNewPictureButton, selectFromPhotoLibraryButton;

- (IBAction)getCameraPicture:(id)sender 
{

  UIImagePickerController *picker = [[UIImagePickerController alloc] init];
  picker.delegate = self;
  picker.sourceType = UIImagePickerControllerSourceTypeCamera;
  picker.allowsImageEditing = YES;

[self presentModalViewController:picker animated:YES];
[picker release];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo 
{
NSLog(@"Image Meta Info.: %@",editingInfo);

UIImage *selectedImage = image;
imageView.image = selectedImage;
self._havePictureData = YES;
[self.useThisPhotoButton setEnabled:YES];

[picker dismissModalViewControllerAnimated:YES];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 
{
  [picker dismissModalViewControllerAnimated:YES];
}
4

2 に答える 2

0

わかった !

理由はわかりませんが、 appDelegate に次の行をコメントしました: "[window makeKeyAndVisible]"

コメントを解除して、再度ビルドします。これで、ImagePicker の Edit 関数が実行されます。

これが助けになることを願っています。

ルクル

于 2010-04-09T14:22:02.307 に答える