2012-03-03 16 views
2

私は現在の図面を電子メールで送信する必要がある描画アプリケーションに取り組んでいます。私は現在の画面のスクリーンショットを取得することができました。しかし、どうすればMFMailComposeViewControllのメールでその画像を送ることができますか?ここiOsメールに私の現在の画面を追加する

UIGraphicsBeginImageContext(self.view.bounds.size); 
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *currentScreen = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

答えて

6
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init]; 
controller.mailComposeDelegate = self; 
[controller setSubject:AppName]; 

NSArray *bccRecipients = [NSArray arrayWithObject:@"[email protected]"]; 
[controller setBccRecipients:bccRecipients]; 

UIGraphicsBeginImageContext(self.view.bounds.size); 
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *currentScreen = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 


NSData *imageData = UIImagePNGRepresentation(currentScreen); 
[controller addAttachmentData:imageData mimeType:@"image/png" fileName:@"aaa.png"]; 


[controller setMessageBody:@"body" isHTML:YES]; 

[self presentModalViewController:controller animated:YES]; 

[controller release]; 
4

MFMailComposeViewController-addAttachmentData:mimeType:fileName:メソッドを持って撮影した私は、画面を取得するために使用したコードです。 UIImagePNGRepresentationを使用して画像をNSDataに変換し、mimeTypeの場合はimage/pngと設定し、fileNameの場合は任意の値を設定できます。そして、あなたはMFMailComposeViewControllerを提示することができます。

Document reference

+0

ありがとう。それは魅力的だった – BigAppleBump

関連する問題