以下に投稿したコードには2つの機能があります。1つ目は写真を撮る(正常に機能している)ためのもので、2つ目はライブラリから画像を選択するためのもの(機能していない)です。関数が正しく呼び出されていません。私のコードをチェックして、何が悪いのか教えてください。
前もって感謝します。
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
static NSDateFormatter *dateFormatter = nil;
NSString *stringDate = nil;
if (dateFormatter == nil) {
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EE, d LLLL yyyy"];
stringDate = [dateFormatter stringFromDate:[NSDate date]];
}
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
// storing to camera roll
UIImageWriteToSavedPhotosAlbum(image,self,@selector(image:finishedSavingWithError:contextInfo:),nil);
CGSize newSize=CGSizeMake(320, 436);
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
xapp.profileImage=newImage;
[[NSNotificationCenter defaultCenter]postNotificationName:@"addImage" object:nil];
}
// Commit the change.
[self dismissModalViewControllerAnimated:YES];
}
-(void)image:(UIImage *)image finishedSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {
if (error) {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Save failed"
message: @"Failed to save image"
delegate: nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}