Не мог распустить MFMailComposeViewController, делегат, не позвонивший

Я звоню MFMailComposeViewController от a UITableViewController. Проблемой является метод делегата, никогда не называется, когда я нажимаю кнопку Cancel или Send в Почте, составляют окно:

mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult 

Вот класс табличного представления:

@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");
}

Приложение не отказывает. После того, как кнопка Cancel или Send нажимается, Составить Окно остается на экране с отключенными кнопками. Я могу выйти из приложения, нажимающего клавишу Home.

Я могу открыться, другие Модальные Представления формируют TableView, но не MailCompose.

51
задан Sam Spencer 7 September 2013 в 06:04
поделиться

1 ответ

Сигнатура вашего метода неверна:

- (void)mailComposeController:(MFMailComposeViewController*)controllerdidFinishWithResult:(MFMailComposeResult)result error:(NSError*)error

Должно быть:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
14
ответ дан 7 November 2019 в 09:41
поделиться