我有个问题...
我创建了一个 MFMailComposeViewController 并显示出来。
但是,发送和取消按钮都不起作用。
我有个问题...
我创建了一个 MFMailComposeViewController 并显示出来。
但是,发送和取消按钮都不起作用。
您必须在您的应用程序中添加此代码,
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
[self dismissModalViewControllerAnimated:YES];
}
试试这个,它可以正常发送和取消按钮。
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];
今天我发现 Swift 3.0 为这个问题带来了一个新的函数签名。在此之前,甚至从未调用过 mailComposeController,并且邮件(尽管它确实发送了)只是卡在那里。当我改为下面时,它起作用了。
public func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith: MFMailComposeResult, error: Error?) {
self.dismiss(animated:true, completion: nil)
}