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];
}