Sto chiamando MFMailComposeViewController
da un UITableViewController
. problema è il metodo delegato non viene mai chiamato quando seleziono Annulla o Invia pulsante in Mail comporre finestra:Impossibile chiudere MFMailComposeViewController, delegato non chiamato
mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult
Ecco la classe di visualizzazione tabella:
@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'applicazione doesn' t crash. Dopo aver premuto il pulsante Annulla o Invia, la finestra di composizione rimane sullo schermo con i pulsanti disabilitati. Posso uscire dall'applicazione premendo il tasto Home.
Sono in grado di aprire altro modulo Viste modali TableView ma non MailCompose.
Credo che questo sia solo un errore di battitura nella sua domanda. –