Llamo a MFMailComposeViewController
desde UITableViewController
. El problema es que el método delegado nunca es llamado cuando selecciono Cancelar o Enviar botón en Mail componer ventana:No se puede cerrar MFMailComposeViewController, no se ha llamado al delegado
mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult
Aquí es la clase de vista tabla:
@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");
}
La aplicación doesn' t choque. Después de presionar el botón Cancelar o Enviar, la Ventana de composición permanece en la pantalla con los botones desactivados. Puedo salir de la aplicación presionando la tecla Inicio.
Puedo abrir otras vistas modales de TableView pero no MailCompose.
Creo que esto es solo un error en su pregunta. –