【问题标题】:Email custom photo album images通过电子邮件发送自定义相册图像
【发布时间】:2013-07-04 19:04:44
【问题描述】:

我为拍摄照片创建了自定义相册。我在我的应用程序中调用了这张专辑。单击按钮后,将调用相册。但我无法将此图像分享给邮件。我使用MFMailComposeViewController 发送。

代码:

photopick= [UIButton buttonWithType:UIButtonTypeCustom];
    [photopick setImage:[UIImage imageNamed:@"photo.png"] forState:UIControlStateNormal];
    // [overlayButton setFrame:CGRectMake(80, 420, 60, 30)];

    [photopick setFrame:CGRectMake(10, 10, 80, 50)];

    [photopick addTarget:self action:@selector(showAlbum:) forControlEvents:UIControlEventTouchUpInside];
    [[self view] addSubview:photopick];

-(void)showAlbum:(id)sender{

    imagePicker=[[UIImagePickerController alloc]init];

    imagePicker.delegate = self;

    imagePicker.allowsEditing =NO;

    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

   // imagePicker.sourceType=UIImagePickerControllerSourceTypeSavedPhotosAlbum;


    [self presentModalViewController:imagePicker animated:YES];

}

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
    //release picker
    [picker dismissModalViewControllerAnimated:YES];
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    //set image

    [self.navigationController.navigationBar setHidden:NO];




    //  newImage = [[UIImageView alloc] initWithImage:[info objectForKey:UIImagePickerControllerOriginalImage]];

    newImage = [[UIImageView alloc] initWithImage:[info objectForKey:UIImagePickerControllerOriginalImage]];

    [newImage setFrame:CGRectMake(0, 0, 320, 568)];

    //  [newImage setUserInteractionEnabled:YES];



    [self.view addSubview:newImage];

    // [newImage release];


    [picker dismissModalViewControllerAnimated:YES];

}

选择图片后,我还有其他按钮可以将 newImage(专辑图片)发送到邮件:

-(void)send:(id)sender{

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];

        picker.mailComposeDelegate = self;
        [picker setSubject:@"My image"];

        UIImage *roboPic = [UIImage imageNamed:@"RobotWithPencil.jpg"];

        NSData *imageData = UIImageJPEGRepresentation(roboPic, 1);
        [picker addAttachmentData:imageData mimeType:@"image/jpg" fileName:@"RobotWithPencil.jpg"];




        NSString *emailBody = @"This is a cool image of a robot I found.  Check it out!";
        [picker setMessageBody:emailBody isHTML:YES];

        [self presentModalViewController:picker animated:YES];

}

但是我如何将专辑图片设置到 MFMailComposeViewController 内部。提到的一些文档使用了[UIImage imageNamed:@"img.png"]; 这里我没有imageName。我有相册中的图片

【问题讨论】:

  • 保存图片到文档目录
  • 我的要求是将图像保存到自定义相册并分享
  • 使用您的自定义相册路径并使用该路径创建图像引用并使用 NSData 作为附件。

标签: iphone uiimagepickercontroller mfmailcomposeviewcontroller


【解决方案1】:

试试下面的链接

MFMail

您可以使用 for 循环在 Messagebody 中设置多个图像。

使用此功能设置您的消息正文

     - (NSString *)messageBody
     {
         // if we couldn't fetch the app information, use a simple fallback template
         if (self.applicationSellerName==nil) {
             // Fill out the email body text
             NSMutableString *emailBody = [NSMutableString stringWithFormat:@"<div> \n"
                                  "<p style=\"font:17px Helvetica,Arial,sans-serif\">%@</p> \n"
                                  "<h1 style=\"font:bold 16px Helvetica,Arial,sans-serif\"><a target=\"_blank\" href=\"%@\">%@</a></h1> \n"
                                  "<br> \n"
                                  "<table align=\"center\"> \n"
                                  "<tbody> \n"
                                  "<tr> \n"
                                  "<td valign=\"top\" align=\"center\"> \n"
                                  "<span style=\"font-family:Helvetica,Arial;font-size:11px;color:#696969;font-weight:bold\"> \n"
                                  "</td> \n"
                                  "</tr> \n"
                                  "<tr> \n"
                                  "<td align=\"left\"> \n"
                                  "<span style=\"font-family:Helvetica,Arial;font-size:11px;color:#696969\"> \n"
                                  "Please note that you have not been added to any email lists. \n"
                                  "</span> \n"
                                  "</td> \n"
                                  "</tr> \n"
                                  "</tbody> \n"
                                  "</table> \n"
                                  "</div>",
                                  self.message,
                                  [self.appStoreURL absoluteString],
                                  self.applicationName
                                  ];

             return emailBody;

         }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-20
    • 1970-01-01
    • 2012-04-24
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    相关资源
    最近更新 更多