1

アプリに組み込まれているフォトアルバムから写真を選択するiPhoneアプリケーションがあります。この写真をメールで共有するオプションを備えた共有ボタンを追加したいのですが、このコードを使用して既存の写真を添付できます。

    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;

[picker setSubject:@""];


// Set up recipients
NSArray *toRecipients = [NSArray arrayWithObject:@""]; 
[picker setToRecipients:toRecipients];


// Attach an image to the email
NSString *path = [[NSBundle mainBundle] pathForResource:@"project existing photo" ofType:@"jpg"];
NSData *myData = [NSData dataWithContentsOfFile:path];
[picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"photo name"];

// Fill out the email body text
NSString *emailBody = @"";
[picker setMessageBody:emailBody isHTML:NO];

[self presentModalViewController:picker animated:YES];
[picker release];

しかし、選択したフォトアルバムを電子メールの本文に添付するには、このコードで何を変更する必要がありますか?前もって感謝します。

4

3 に答える 3

4

UIImagePickerControllerユーザーが画像を選択できるようにするために使用します。次に、このデリゲートメソッドを呼び出します。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    UIImage* image = [info objectForKey:UIImagePickerControllerOriginalImage];
    NSData* data = UIImageJPEGRepresentation(image, 1.0);
    // Your e-mail code here
}
于 2012-10-19T03:54:09.280 に答える
3

こんにちはカメラのPhotoLibraryから画像を選択するためにUIImagePickerを使用し、電子メールを送信するためにMFMailComposeViewControllerを使用します。

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

// Dismiss PickerViewController 

[picker dismissModalViewControllerAnimated:NO]; 

// Get Image Fro Attachment

UIImage* image = [info objectForKey:UIImagePickerControllerOriginalImage];
NSData* data = UIImageJPEGRepresentation(image, 1.0);

// Setup Email Settings Like Subject, Message , Attachment


MFMailComposeViewController *mailPicker = [[MFMailComposeViewController alloc] init];
mailPicker.mailComposeDelegate = self;

[mailPicker setSubject:@"Image Attachment Test"];


// Set recipients

NSArray *toRecipients = [NSArray arrayWithObject:@"xyz.gmail.com"]; 
[mailPicker setToRecipients:toRecipients];

// Set body message here
NSString *emailBody = @":)";
[picker setMessageBody:emailBody isHTML:NO];

// Attach Image as Data 
[mailPicker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"photo name"];

[self presentModalViewController:mailPicker animated:YES];

[mailPicker release];


}
于 2012-10-19T05:37:27.640 に答える
0

画像ピッカー(またはその他のソース)からのUIImageがあるとすると、最初に画像からNSDataオブジェクトを作成する必要ありますUIImageJPEGRepresentationまたはUIImageJPEGRepresentation関数のいずれかを使用します。NSDataオブジェクトを取得したら、投稿したコードで行ったように、添付ファイルとして追加します。

ほとんどの場合、画像はメインのメッセージ本文の後にメールに表示されます。

于 2012-10-19T03:58:00.260 に答える