Почему не работают кнопки «Отмена» и «Отправить» MFMailComposeViewController? - PullRequest
1 голос
/ 22 марта 2010

У меня проблема ...

Я создаю MFMailComposeViewController, и он появляется.

Однако ни кнопка «Отправить», ни «Отмена» не работают.

Ответы [ 3 ]

6 голосов
/ 25 марта 2010

Вы должны поставить этот код в вашем приложении,

   - (void)mailComposeController:(MFMailComposeViewController*)controller     didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{   
[self dismissModalViewControllerAnimated:YES];
}

Попробуйте это, и все работает правильно, кнопки отправки и отмены.

1 голос
/ 04 марта 2011
MFMailComposeViewController *controller=[[MFMailComposeViewController alloc]init];
controller.mailComposeDelegate=self;

[controller setSubject:@"Important Data"];

для html файла почты

NSString *path=[[NSBundle mainBundle]pathForResource:@"table" ofType:@"html"];
NSFileHandle *readHandle=[NSFileHandle fileHandleForReadingAtPath:path];
htmlString = [[NSString alloc] initWithData: [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];

NSString *emailBody=[NSString stringWithFormat:@"Product Name         %@ \n Company Name       %@  \n Last Updated Date   %@ \n desired data \n %@  ",lblProductName.text,lblCompanyName.text,lblUpdateDate.text,htmlString];

[controller setMessageBody:emailBody isHTML:YES];

[self presentModalViewController:controller animated:YES];

[controller release];
0 голосов
/ 26 сентября 2016

Сегодня я обнаружил, что Swift 3.0 добавляет новую подпись функции для этого вопроса. До этого mailComposeController никогда даже не вызывался, и почта (хотя и отправляла) просто зависала там. Когда я переключился на ниже, это сработало.

  public func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith: MFMailComposeResult, error: Error?) {

    self.dismiss(animated:true, completion: nil)


}
...