Представляя MFMailComposeViewController, но он исчезает сразу после того, как становится видимым - PullRequest
1 голос
/ 19 февраля 2012

Первый ViewController в подклассах моего приложения UIImagePickerController, а затем с помощью обратного вызова didFinishPickingMediaWithInfo я делаю следующее:

EditViewController *editViewController = [[EditViewController alloc] initWithNibName:@"EditViewController" bundle:nil];
[self pushViewController:editViewController animated:YES];

этот ViewController отображается правильно ... Затем, через IBAction, я делаю следующее:

PreviewViewController *previewViewController = [[PreviewViewController alloc] initWithNibName:@"PreviewViewController" bundle:nil];
previewViewController.tempImage = img;
[self.navigationController pushViewController:previewViewController animated:YES];

Этот вид также отображается правильно.В этом VC я пытаюсь использовать MFMailComposeViewController для отправки электронной почты.Когда я пытаюсь нажать его, я получаю Нажатие на навигационный контроллер не поддерживается :

MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setSubject:@"Subject Goes Here."];
[mailViewController setMessageBody:@"Your message goes here." isHTML:NO];
[self.navigationController pushViewController:mailViewController animated:YES];

Но когда я представляю его вместо:

[self presentModalViewController:mailViewController animated:YES];

mailViewControllerпоявляется только на секунду, а затем исчезает, и я вижу черный фон (но не вид предыдущего ВК) с пустой панелью навигации вверху.На данный момент приложение все еще работает.

Что я делаю не так?

1 Ответ

5 голосов
/ 05 марта 2012

Если вы все еще хотите нажать на mailViewController, вы можете сделать это (только для iOS 7):

UIViewController *theMailViewController = [[mailViewController viewControllers] lastObject];
[self.navigationController pushViewController:theMailViewController animated:YES];

Таким образом rootViewController в MailViewController будет помещен в ваш реальный навигационный контроллер.

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...