Iphone MFMailComposeViewController中的图像预览为空

Iphone MFMailComposeViewController中的图像预览为空,iphone,ios,ios6,xamarin.ios,Iphone,Ios,Ios6,Xamarin.ios,在我的iOS应用程序中,我允许用户从相册中选择图像或从相机中捕获图像。紧接着,我展示了一个MFMailComposeViewController,其中包含所选/捕获的图像作为附件 图像已正确附加和发送,但电子邮件的照片缩略图预览区域在所有情况下均为空白,除非选择相册中的最新照片。如果捕获图像或从相册中选择旧图像,则该图像为空,如下所示: 附加捕获/选定图像的代码为: MFMailComposeViewController email = new MFMailComposeViewControll

在我的iOS应用程序中,我允许用户从相册中选择图像或从相机中捕获图像。紧接着,我展示了一个MFMailComposeViewController,其中包含所选/捕获的图像作为附件

图像已正确附加和发送,但电子邮件的照片缩略图预览区域在所有情况下均为空白,除非选择相册中的最新照片。如果捕获图像或从相册中选择旧图像,则该图像为空,如下所示:

附加捕获/选定图像的代码为:

MFMailComposeViewController email = new MFMailComposeViewController ();
email.SetToRecipients(new string[] {"test@test.com"});
email.SetSubject("Photo for " + CurrentCompany.DbaName + " (" + CurrentCompany.CoKey.ToString() + ")");

//imageToEmail is a UIImage that is set in the callback from the image capture/selection process
email.AddAttachmentData (imageToEmail.AsPNG(), "image/png", "photo.png");

email.Finished += HandleFinished;
NavigationController.PresentViewController(email, true, null);
为什么预览是空白的?

试试这个:

    email.AddAttachmentData (imageToEmail.AsPNG(), "image/png", "photo.png");   
把这条线拉到:

    NSData *data = UIImagePNGRepresentation(imageToEmail);//Your uiimage convert to nsdata
    [email addAttachmentData:data mimeType:@"image/png" fileName:@"Myphoto"];

如果将来有人遇到这种情况,我尝试了几种不同的方法来保存UIImage应用程序的个人存储位置、相册等,但没有一种方法可以将图像附加为PNG。将UIImage保存为JPEG是我修复它的原因。更改此行:

email.AddAttachmentData (imageToEmail.AsPNG(), "image/png", "photo.png"); 
致:


允许所有捕获的或选定的图像在电子邮件中显示预览缩略图。

建议:停止使用Monotouch并使用本机。我认为问题不在您显示的代码中。你能编辑你的问题来展示如何检索imageToEmail以及它如何到达上面的代码吗?在MonoTouch中用Objective-C代码替换C代码不是我想要的
email.AddAttachmentData (imageToEmail.AsJPEG(), "image/jpg", "photo.jpg");