我有一个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.)
答案 0 :(得分:3)
如果在上拉MFMailComposer时对UI进行任何更改,则会调用MFMailComposeResultCancelled。
我必须是默认的iOS导航标题,但您可以更改色调。
答案 1 :(得分:0)
如果你没有做任何事情就完成了,请放nil
,这可能就是问题所在。