Je suis appelant MFMailComposeViewController
d'un UITableViewController
.
Le problème est le délégué de la méthode n'est jamais appelée lors de la sélection d' Annuler ou Envoyer bouton de Courrier dans la fenêtre de composition:
mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult
Voici la vue de la table de la classe:
@implementation DetailsTableViewController
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section==0 && indexPath.row==4) {
//SEND MAIL
MFMailComposeViewController *controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
if ([MFMailComposeViewController canSendMail]) {
[controller setSubject:[NSString stringWithFormat:@"Ref %@",[item objectForKey:@"reference"]]];
[controller setMessageBody:@" " isHTML:NO];
[controller setToRecipients:[NSArray arrayWithObject:[item objectForKey:@"email"]]];
[self presentModalViewController:controller animated:YES];
}
[controller release];
}
}
- (void)mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
// NEVER REACHES THIS PLACE
[self dismissModalViewControllerAnimated:YES];
NSLog (@"mail finished");
}
L'application ne plante pas. Après les Annuler ou de les Envoyer bouton est cliqué, la Fenêtre de composition reste sur l'écran avec des boutons désactivés. Je peux fermer l'application en appuyant sur la touche d'Accueil.
Je suis en mesure d'ouvrir d'autres points de Vue Modal forme TableView mais pas MailCompose.