Как создать UItableView на HTML-странице.отправить мое табличное представление в MFMailComposeViewController как Тело письма - PullRequest
1 голос
/ 30 января 2012

Я работаю над почтовым приложением. У меня есть представление таблицы в представлении, мне нужно загрузить почтовую страницу, когда я нажимаю кнопку в том же представлении. Я реализовал это с помощью MFMailComposeViewController.

Почтовое представление загружено, но мне нужно отправить содержимое табличного представления в виде тела / вложения тела письма вместо изображения значка.

-(void)displayComposerSheet 
{
    MFMailComposeViewController *mailpage = [[MFMailComposeViewController alloc] init];
    mailpage.mailComposeDelegate = self;
    [mailpage setSubject:@"summary of chronology"];

    // Set up recipients
    NSArray *toRecipients = [NSArray arrayWithObject:@""]; 
    NSArray *ccRecipients = [NSArray arrayWithObjects:@"",nil]; 
    NSArray *bccRecipients = [NSArray arrayWithObject:@""]; 

    [mailpage setToRecipients:toRecipients];
    [mailpage setCcRecipients:ccRecipients];    
    [mailpage setBccRecipients:bccRecipients];

    //Attach an image to the email
      NSString *path = [[NSBundle mainBundle] pathForResource:@"iCon" ofType:@"png"];
      NSData *myData = [NSData dataWithContentsOfFile:path];
     [mailpage addAttachmentData:myData mimeType:@"image/png" fileName:@"iCon"];

    // Fill out the email body text
    NSString *emailBody = @"";
    [mailpage setMessageBody:emailBody isHTML:NO];

    [self presentModalViewController:mailpage animated:YES];
    //[self.navigationController pushViewController:mailpage animated:YES];
    [mailpage release];
}

Ответы [ 2 ]

4 голосов
/ 30 января 2012

Добавьте к вашему дисплею ComposerMethod этот кусок кода:

NSString *emailBody = [self generateHTMLBody];
[mailpage setMessageBody:emailBody isHTML:YES];

и метод, подобный этому:

//assume that you have objects in NSArray* dataArray
- (NSString *)generateHTMLBody {
    NSString *res = @"<HTML><body><table>\n";

    for (int i=0; i < dataArray.count; i++) {
        NSString *tmp = (NSString *)[dataArray objectAtIndex:i];
        res = res = [res stringByAppendingString:@"<tr><td>"];
        res = res = [res stringByAppendingString:tmp];
        res = res = [res stringByAppendingString:@"</td></tr>\n"]; //fix in this line
    }
    res = [res stringByAppendingString:@"</table></body></html>\n"];
    return res;
}
// I didn't test this method.

Это, конечно, только пример, и метод generateHTMLBody может и должен бытьболее сложный.

0 голосов
/ 16 января 2014

Этот код помогает перезагрузить родительскую страницу, внеся любые изменения (если есть) #refresh

заголовок ( "место: crud_admin.php"); echo 'parent.window.location.reload (true);';

...