gpt4 book ai didi

ios - MessageUI 框架 - 图像不显示在 iPhone 上的撰写 View 中

转载 作者:行者123 更新时间:2023-11-28 23:06:21 24 4
gpt4 key购买 nike

在使用 UIImagePickerController 拍照后,我正在使用 MessageUI 框架通过电子邮件发送图像。当我拍照然后调用邮件邮件消息界面时,我得到了撰写窗口。在 iPod touch (iOS 4.3.5) 和 iPad (iOS 5.0.1) 上进行测试时,我在撰写窗口的主体中看到了图像附件。在 iPhone (4S iOS 5.0.1) 上测试时,图像没有出现在撰写窗口中,而是我看到了一个与图像附件大小相同的框,其中嵌入了一个带有“?”的蓝色小框。

在这两种情况下,当邮件消息被发送时,图像会出现在邮件应用程序收到的消息中 - iOS 设备和 Mac。

我该怎么做才能解决这个问题?

更新:我通过更改解决了这个问题:

NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(imageToSend)]

到:

NSData *imageDataJPG = [NSData dataWithData:UIImageJPEGRepresentation(imageToSend, 1.0)];

我在 UIKit 文档中看不到 UIImagePNGRepresentation 中有任何内容不能在 iPhone 上运行...

(Xcode 4.2.1、ARC、5.0 SDK、部署目标 4.3)

这是编写消息的代码:

-(void)displayComposerSheet
{
MFMailComposeViewController *mailPicker = [[MFMailComposeViewController alloc] init];
mailPicker.mailComposeDelegate = self;



[mailPicker setSubject:@"Photo"];

NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(imageToSend)];
[mailPicker addAttachmentData:imageData mimeType:@"image/png"fileName:@"Photo"];


//填写邮件正文。

NSString *line1 = [NSString stringWithFormat: @"I take this photo on my %@.\n", [[UIDevice currentDevice] model]];


NSString *body = [NSString stringWithFormat:@"%@", line1];
[mailPicker setMessageBody:body isHTML:NO];

//呈现邮件撰写界面。
[ self 呈现模态视图 Controller :动画邮件选择器:是];

}

最佳答案

图像大小受到限制,因此如果您发送的图像大于特定尺寸,您将获得上述效果。

我看了看我自己的代码,发现我有

#define MAX_MAIL_DIM 1536

这似乎是 1024 * 1.5。抱歉,我不记得我是如何得出这个数字的,但我怀疑这是反复试验。

关于ios - MessageUI 框架 - 图像不显示在 iPhone 上的撰写 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com