2011-07-18 6 views
0

私のアプリケーションは、少なくとも空のPNGを送信します(少なくとも正しいサイズですが)。私がイメージから間違いなくイメージを引き出すように指示しているビューには内容があります。ここに関連コードがあります。ビューのUIImageを取得して電子メールに添付する際に問題が発生する

UIGraphicsBeginImageContext(graph_window_view_controller.view.bounds.size); 
UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
NSData * data = UIImagePNGRepresentation(image); 

... 

MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; 
mailViewController.mailComposeDelegate = self; 
[mailViewController setSubject:[@"******** " stringByAppendingString:theTime]]; 
[mailViewController setMessageBody:@"*********" isHTML:NO]; 
[mailViewController setToRecipients:[NSArray arrayWithObject:str]]; 
[mailViewController addAttachmentData:data mimeType:@"image/png" fileName:@"chart_image.png"]; 

誰でも問題を発見できますか?ありがとう。

答えて

0

実際にはビューをコンテキストに描画していません。 renderInContext:メソッドをCALayerにする必要があります。QuartzCoreフレームワークをプロジェクトに追加し、#import <QuartzCore/QuartzCore.h>を追加してください。

はあなたUIGraphicsGetImageFromCurrentImageContext()呼び出しの前に

[graph_window_view_controller.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 

を行います。

+0

Ah!もちろん、愚かな私。ありがとうございました。 – Randall