Кнопка отмены ничего не делает в MFMailComposeViewController — iOS 8

#ios #ios8 #mfmailcomposer #cancel-button

#iOS #ios8 #mfmailcomposer #кнопка отмены

Вопрос:

Я создал MFMailComposeViewController и могу отобразить его, но как только я нажимаю кнопку отмены, кнопка отмены и кнопка отправки становятся серыми, а таблица действий не отображается. Есть ли что-то, чего мне не хватает?

 MFMailComposeViewController *m = [[MFMailComposeViewController alloc] init];
[m setToRecipents:@[@"abc@example.com"]];
[m setSubject:@"Subject"];
[m setMessageBody:@"..." isHTML:YES];
[m setMailComposeDelegate:self];
[self presentViewController:m animated:YES completion:nil];
 

И вот скриншот:
Изображение, показывающее кнопки серого цветаИтак, я чего-то не хватает или я должен отправить отчет об ошибке?

Комментарии:

1. Реализовали ли вы протокол MFMailComposeViewControllerDelegate? Например, установите mailViewController.mailComposeDelegate = self если текущий объект реализует протокол, тогда реализуйте требуемый метод — (void)mailComposeController:(MFMailComposeViewController*)контроллер didFinishWithResult:(MFMailComposeResult)ошибка результата:(NSError*)ошибка { [self dismissViewControllerAnimated:ДА завершение: ноль]; }

2. @deanware да, я это сделал. Проблема не в этом, проблема в том, что таблица действий не отображается.

3. @Milo, вы решили эту проблему? Я получаю то же самое, и код работает в iOS 7

4. @jaseelder Он исправил себя и в настоящее время работает должным образом в последней бета-версии.

5. Этот вопрос (мой вопрос) теперь устарел, потому что речь шла о бета-версии iOS, и (тогда очевидная) ошибка исправлена в последней бета-версии.

Ответ №1:

Ну, я обнаружил, что в iOS8 SDk при представлении MFMailComposeViewController завершенный обработчик событий запускается немедленно, и результат MFComposeResultEventArgs устанавливается в MFMailComposeResult.Отмена.

Это может быть ошибкой.