uiimageview に動的に追加されるメールに画像を追加する方法。
2 に答える
- (void)sendMailWithImage:(UIImage *)image
{
if([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init];
if(mailController!=nil) {
mailController.mailComposeDelegate = self;
NSData *imageData = UIImagePNGRepresentation(image);
[mailController addAttachmentData:imageData mimeType:@"image/png" fileName:@"MyImageName"];
[mailController setSubject:yourSubject];
[mailController setMessageBody:yourBody isHTML:NO];
[self presentModalViewController:mailController animated:YES];
[mailController release];
}
else
{
//Do something like show an alert
}
}
詳細については、こちらもお読みください
MFMailComposeViewControllerを使用している場合は、そのビューコントローラーの次のメソッドを使用できます。
addAttachmentData:mimeType:fileName:指定されたデータを添付ファイルとしてメッセージに追加します。
-(void)addAttachmentData:(NSData *)attachment mimeType:(NSString *)mimeType fileName:(NSString *)filename
パラメーター
- アタッチメント
添付するデータ。通常、これは含めるファイルの内容です。このパラメーターはnilであってはなりません。
- mimeType
指定されたデータのMIMEタイプ。(たとえば、JPEGイメージのMIMEタイプはimage / jpegです。)有効なMIMEタイプのリストについては、http://www.iana.org/assignments/media-types/を参照してください。このパラメーターはnilであってはなりません。
- ファイル名
データに関連付ける優先ファイル名。これは、ファイルが宛先に転送されるときにファイルに適用されるデフォルトの名前です。ファイル名のパス区切り文字(/)文字は、送信前にアンダースコア(_)文字に変換されます。このパラメーターはnilであってはなりません。
討論
このメソッドは、指定されたデータをメッセージ本文の後、ユーザーの署名の前に添付します。(異なるファイル名を使用して)複数のファイルを添付できますが、メール作成インターフェイスを表示する前に添付する必要があります。ユーザーにインターフェースを提示した後は、このメソッドを呼び出さないでください。