2010-03-22 3 views

Répondre

6

Vous devez mettre ce code dans l'application ur,

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

Essayez celui-ci et il fonctionne envoyer et annuler les boutons correctement.

1
MFMailComposeViewController *controller=[[MFMailComposeViewController alloc]init]; 
controller.mailComposeDelegate=self; 

[controller setSubject:@"Important Data"]; 

pour le courrier de fichier 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

Aujourd'hui, j'ai trouvé Swift 3.0 apporte une nouvelle signature de la fonction à cette question. Avant cela, mailComposeController n'a jamais été appelé, et le mail (même s'il a été envoyé) est juste resté là. Quand je suis passé en bas, ça a marché.

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

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


} 
Questions connexes