#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.Отмена.
Это может быть ошибкой.