首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MFmailComposer错误

MFmailComposer错误
EN

Stack Overflow用户
提问于 2013-02-04 04:52:00
回答 5查看 659关注 0票数 2

我想提前道歉,因为我对编程相当陌生,所以如果我没有尽可能的具体说明我的问题,我很抱歉,但无论如何,我会尽我所能解释我的问题,我正在创建一个应用程序,它需要有发送电子邮件的能力,我已经到处查找,尝试了我能找到的每一个示例代码,而且每次我使用代码时,似乎都没有任何东西起作用,我得到了以下错误:

2013-02-03 20:23:39.372 Tones16409:c07警告:企图在

其视图不在窗口层次结构中!

这是我目前在viewcontroller.h文件中使用的代码:

代码语言:javascript
复制
UIViewController <MFMailComposeViewControllerDelegate>
- (IBAction)Mail:(id)sender;

这在我的viewcontroller.m文件中:

代码语言:javascript
复制
- (IBAction)Mail:(id)sender {
if ([MFMailComposeViewController canSendMail]) {
    MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init];

    mail.mailComposeDelegate = self;

    [mail setSubject:@"Subject"];

    NSArray *recipient = [NSArray arrayWithObjects:@"mail@example.com", nil];
    [mail setToRecipients:recipient]; 

    NSString *body = @"body!";
    [mail setMessageBody:body isHTML:NO];

    [self presentModalViewController:mail animated:YES];
}
}
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
[self dismissModalViewControllerAnimated:YES];
}

我还收到一条消息说,在IOS 6中,self presentModalViewController和self dismissModalViewController都不受欢迎,这是否意味着我不能使用它,或者我做错了什么?

因此,任何帮助我做错的邮件作曲家将不胜感激,并再次对不起,如果我没有足够具体的感谢提前。

EN

回答 5

Stack Overflow用户

发布于 2013-02-04 04:59:34

您可以使用presentModalViewController:animated:来显示模式视图控制器,但现在建议使用新的一个:presentViewController:动画:completion:。新的on拥有一个完成处理程序,您可以获得对代码的更多控制。请注意,新方法需要上面的iOS 5.0。如果您的目标是上面的iOS5.0,您应该使用新的方法。对于dismissModalViewControllerAnimated:,也是如此,请使用disunsViewController动画:completion:代替。

票数 0
EN

Stack Overflow用户

发布于 2013-02-04 05:02:40

警告“警告:尝试显示其视图不在窗口层次结构中!”建议该视图不在Interface中连接或以编程方式连接。

不推荐的警告来自于Xcode检查在项目设置中使用的API。如果将Xcode项目的Build‘IOS部署目标设置设置为iOS 6,那么任何被苹果标记为废弃的API(如presentModalViewController和dismissModalViewController)都将被标记出来。

相反,请分别使用presentViewController: Instead :completion:和DisunsViewController动画:completion:。

票数 0
EN

Stack Overflow用户

发布于 2013-02-04 06:03:55

就像Sudha说的,从iOS6开始使用iOS6presentModalViewControllerdismissModalViewController被废弃,它们与完成一起使用,对于您的情况,这将是零。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14680553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档