gpt4 book ai didi

ios - 未调用 MFMailComposeViewController 委托(delegate)

转载 作者:行者123 更新时间:2023-11-29 12:15:55 27 4
gpt4 key购买 nike

即使我正在编写以下代码,我也无法调用 Mail composer 委托(delegate)方法:

-(void)openMailComposerInViewController:(UIViewController *)hostController{
if ([MFMailComposeViewController canSendMail])
{
// Email Subject
NSString *emailTitle = @"Test Email";
// Email Content
NSString *messageBody = @"Test Email";
// To address
NSArray *toRecipents = [NSArray arrayWithObject:@"support@test.com"];

mailComposer = [[MFMailComposeViewController alloc] init];
mailComposer.mailComposeDelegate = self;
[mailComposer setSubject:emailTitle];
[mailComposer setMessageBody:messageBody isHTML:NO];
[mailComposer setToRecipients:toRecipents];

// Present mail view controller on screen

[hostController presentViewController:mailComposer animated:YES completion:NULL];
mailController = hostController;
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure"
message:@"Your device doesn't support the composer sheet"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}

pragma mark - 邮件

- (void) mailComposeController:(MFMailComposeViewController *)controller    didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
switch (result)
{
case MFMailComposeResultCancelled:
NSLog(@"Mail cancelled");
break;
case MFMailComposeResultSaved:
NSLog(@"Mail saved");
break;
case MFMailComposeResultSent:
NSLog(@"Mail sent");
break;
case MFMailComposeResultFailed:
NSLog(@"Mail sent failure: %@", [error localizedDescription]);
break;
default:
break;
}

// Close the Mail Interface
[mailController dismissViewControllerAnimated:YES completion:NULL];
}

我不想自己调用邮件编辑器

但是,我的委托(delegate)没有被调用。请帮忙。单击取消或发送邮件按钮时应用程序崩溃

最佳答案

我遇到过这个问题,我的问题是我有以下代码:

self.mailComposer.mailComposeDelegate = self
self.mailComposer = MFMailComposeViewController()

我在初始化 mailComposer 对象之前设置委托(delegate)。我只是将这两行切换到这个并且它起作用了:

 self.mailComposer = MFMailComposeViewController()
self.mailComposer.mailComposeDelegate = self

关于ios - 未调用 MFMailComposeViewController 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32004866/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com