【发布时间】:2016-01-26 17:40:22
【问题描述】:
我有一个应用程序,您可以在其中将信息输入到某些表单中,然后按一个按钮通过电子邮件发送图像,其中包含放置在图像上的表单中的信息。我将表单中的字符串转换为 UILabel 并将它们放在 UIImageView 上,然后我尝试获取该图像并将其作为附件通过电子邮件发送。当我按下按钮时,我只会在电子邮件中获得原始图像。这是我的代码:
-(IBAction)emailToCustomer:(id)sender {
UIImage *rebateImage = [UIImage imageNamed:@"rebate.png"];
UIImageView *rebateImView = [[UIImageView alloc]initWithImage:rebateImage];
UILabel *rebateLabel = [[UILabel alloc]init];
rebateLabel.text = productField.text;
[rebateImView addSubview:rebateLabel];
NSData *rebateData = UIImagePNGRepresentation(rebateImView.image);
MFMailCOmposeViewController *mailVC = [[MFMailComposeViewController alloc]init];
[mailVC setMailComposeDelegate:self];
if([MFMailComposeViewController canSendMail]) {
[mailVC setSubject:@"Rebate"];
[mailVC addAttachmentData:rebateData mimeType:@"image/png" filename:@"RebateCoupon.png"];
[self presentViewController:mailVC animated:YES completion:nil];
} else {
NSLog(@"Can't Send Mail");
}
}
即使我在字段中输入了信息,我在电子邮件中收到的只是原始回扣图片。我希望将 productField 中的文本放在 UIImageView 中的图像上,并将新图像附加到电子邮件中。
【问题讨论】:
-
您需要对您的 imageview 进行快照以获取带有标签的图像。
-
您为什么要在图像视图上添加标签以将文本添加到图像中,只是为了发送电子邮件?这些都不需要。通过在其上绘制文本从原始图像创建一个新图像。
标签: ios objective-c uiimageview