2015-01-04 2 views
1

У меня есть способ отправить электронное письмо из моего табличного представления.увольнение ViewControllerAnimated: не работает

Таким образом, одна из ячеек является ячейкой «связаться с нами», и всякий раз, когда она прослушивается, я добираюсь до контроллера вида почты, используя MFMailComposeViewController, но проблема в том, что когда я нажимаю «отменить» или «отправить» свой контроллер просмотра почты не возвращается к представлению таблицы. действия «отменить» и «отправить», но я остаюсь на контроллере просмотра почты.

Это соответствующие методы:

- (void)sendEmail { 
    // Email Subject 
    NSString *emailTitle = @"Test Email"; 
    // Email Content 
    NSString *messageBody = @"iOS programming is so fun!"; 
    // To address 
    NSArray *toRecipents = [NSArray arrayWithObject:@"[email protected]"]; 

    MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init]; 
    mc.mailComposeDelegate = self; 
    [mc setSubject:emailTitle]; 
    [mc setMessageBody:messageBody isHTML:NO]; 
    [mc setToRecipients:toRecipents]; 

    // Present mail view controller on screen 
    [self presentViewController:mc animated:YES completion:NULL]; 

} 

- (void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error 
{ 
    switch (result) 
    { 
     case MFMailComposeResultCancelled: 
      NSLog(@"Mail cancelled"); 

      break; 
     case MFMailComposeResultSaved: 
      NSLog(@"Mail saved"); 
      break; 
     case MFMailComposeResultSent: 
      NSLog(@"Mail sent"); 
      break; 
     case MFMailComposeResultFailed: 
      NSLog(@"Mail sent failure: %@", [error localizedDescription]); 
      break; 
     default: 
      break; 
    } 

    // Close the Mail Interface 
    [self dismissViewControllerAnimated:YES completion:NULL]; 
} 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    SettingsControllerSection section = indexPath.section; 

    if (OtherControllerSection == section) { 
     SettingsControllerOtherSection row = indexPath.row; 

     switch (row) { 

      case RateUsController: 
       NSLog(@"rate us was pressed"); 
       break; 

      case ContactUsControllerRow: 
       [self sendEmail]; 
       NSLog(@"send email was pressed"); 
       break; 
     } 
    } 
} 

пожалуйста, помогите, спасибо !!

+0

MFMailComposeController не освобождает автоматически, в методе делегата, уволить ViewController самостоятельно – Sandeep

ответ

2

В mailComposeController метод отклонять это следующим образом:

[controller dismissViewControllerAnimated:YES completion:NULL]; 
+0

спасибо !! я буду отмечать ваш ответ :) –

Смежные вопросы