2013-03-08 1 views
2

Я хочу, чтобы добавить флажок для каждого элемента в моем теле письма, вот некоторые испытания кодИспользование MFMailComposeViewController составить HTML сообщение

 [mailPicker setMessageBody:@"<html>\ 
     <head>\ 
     <title> Insert title here </title>\ 
     <body> Insert the body of email here </body>.\ 
     <form>\ 
     <input type=\"checkbox\" /> I am a male <br />\ 
     <input type=\"checkbox\" /> I am a female\ 
     </form>\ 
     </html>" isHTML:YES]; 

флажок будет отображаться, когда MFMailComposeViewController представлен, но когда я получаю эта почта используя mail.app, флажок не показан вообще.

Есть ли что-нибудь, что я пропустил?

спасибо.

+0

Я не очень хорошо знаком с HTML. Я не знаю, я просто скопировал эти HTML-коды с какого-то веб-сайта, чтобы проверить, работает ли флажок. он не будет работать, даже я удаляю элемент формы. – flypig

+0

Я нашел правильный способ исправить это в http://stackoverflow.com/questions/2094879/send-an-html-formatted-email-using-mfmailcomposeviewcontroller. – flypig

ответ

1

Вот решение для вас:

MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init]; 
mailController.mailComposeDelegate = self; 
NSString *emailBody = @"<p>Here Your HTML Code</p>";       
[mailController setMessageBody:emailBody isHTML:YES]; 
[self mailController animated:YES completion:NO]; 

орудие делегата

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0) 
{ 
// Notifies users about errors associated with the interface 

switch (result) 

{ 
    case MFMailComposeResultCancelled: 

     // message.text = @"Result: canceled"; 

     break; 

    case MFMailComposeResultSaved: 

     // message.text = @"Result: saved"; 

     break; 

    case MFMailComposeResultSent: 

     // message.text = @"Result: sent"; 

     break; 

    case MFMailComposeResultFailed: 

     // message.text = @"Result: failed"; 

     break; 

    default: 

     // message.text = @"Result: not sent"; 

     break; 

} 

[self dismissViewControllerAnimated:YES completion:NO]; 
}