MFMailComposeViewController打开然后关闭

时间:2013-10-29 17:08:06

标签: ios iphone objective-c xcode ios7

我有一个MFMailComposeViewController,我相信它已正确实现。但是当它显示在屏幕上时(通过模态)它只是打开,挂起一秒,然后关闭并记录MFMailComposeResultCancelled

有什么想法吗?

            if ([MFMailComposeViewController canSendMail]){
                MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];



                if( composer == nil ){
                    UIAlertView* alert_view = [[UIAlertView alloc] initWithTitle:@"message"
                                                                          message:@"You will need to setup a mail account on your device before you can send mail!"
                                                                         delegate:nil
                                                                cancelButtonTitle:@"OK"
                                                                otherButtonTitles:nil];
                    [alert_view show];
                    return;
                }else{



                composer.mailComposeDelegate = self;
                [composer setSubject:@"I have an issue"];
                [composer setMessageBody:@"" isHTML:NO];
                [composer setToRecipients:@[@"email"]];
                }


                [self presentViewController:composer animated:YES completion:^{
                    ;
                }];

EDIT在日志中找到了这些

Unbalanced calls to begin/end appearance transitions for <UINavigationController: 0xcda5e90>.

The operation couldn’t be completed. (Cocoa error 4097.)

2 个答案:

答案 0 :(得分:3)

如果在上拉MFMailComposer时对UI进行任何更改,则会调用MFMailComposeResultCancelled。

我必须是默认的iOS导航标题,但您可以更改色调。

答案 1 :(得分:0)

如果你没有做任何事情就完成了,请放nil,这可能就是问题所在。