0

我正在应用程序委托中实现电子邮件编写器。我不知道为什么,但我收到了警告

“实例方法 presentModalViewController:找不到动画”

仅在 appdelegate 中,而我在其他视图控制器中使用相同的方法,它运行顺利。

  MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init]; 
  mail.mailComposeDelegate = self; 

  if([MFMailComposeViewController canSendMail]) 
  {
     //Setting up the Subject, recipients, and message body.

     [mail setToRecipients:[NSArray arrayWithObjects:@"abc@gmail.com",nil]];
     UIImage *pic = [UIImage imageNamed:@"page0.png"];
     NSData *exportData = UIImageJPEGRepresentation(pic ,1.0);
     [mail addAttachmentData:exportData mimeType:@"image/jpeg" fileName:@"Picture.jpeg"];

     [mail setSubject:@"dummy text"];
     [mail setMessageBody:@"Please tell us what your concerns are and we will try to fix them" isHTML:NO];
     //Present the mail view controller
     [self presentModalViewController:mail animated:YES]; 
     //release the mail [mail release];
  } 

[self presentModalViewController:mailer animated:YES];当到达这里时,这是发出警告并且应用程序崩溃了。

有什么建议么。

4

6 回答 6

3
[self presentModalViewController:mail animated:YES];   

是 UIViewControllers 方法。请检查您是否从 UIViewController 扩展了您的课程

@interface abc : UIViewController
于 2012-12-26T04:27:07.927 回答
1

@NiravPatel:谢谢。你给了我线索。但在我的情况下,我不得不用“mailer”替换“mail”。

所以,我让它在iOS7下工作

[self presentViewController:mailer animated:YES completion:nil];
于 2014-08-03T16:03:04.083 回答
0

这是因为 presentModalViewController 在 ios 6 中已被弃用。所以对于 ios 6,您必须编写如下方法

[self presentViewController:mail animated:YES completion:nil];

让我知道它是否工作......!!!!

快乐编码!!!!!!

于 2012-12-26T07:56:01.380 回答
0

presentModalViewController 是UIViewController的子类的方法,而不是 的方法appDelegate,因为它本身没有任何视图控制器。

您可以做的是,如果您正在使用它,请将其呈现给导航控制器的最后一个视图控制器

于 2012-12-26T04:19:55.377 回答
0

为什么要在您的应用程序委托中实现这一点。我只是制作一个单独的视图并将您的 AppDelegate 正在执行的任何操作放在视图上,然后在视图控制器中实现此代码。尝试在 AppDelegate 中实现类似 PresentModalViewController 的代码是不可能的。只需创建一个新视图并指向应用程序委托以在启动时加载该视图。

于 2012-12-26T04:21:49.723 回答
0

presentModalViewController:animated:不会工作,因为that's methodUIViewController这里self是一个app delegate.

请参阅View Controllers链接以获取更多参考

于 2012-12-26T04:42:16.647 回答