gpt4 book ai didi

ios - 从 ScrollView 调用 MFMailComposeViewController

转载 作者:行者123 更新时间:2023-11-29 03:16:22 25 4
gpt4 key购买 nike

我是 iPhone 开发新手。我的应用程序有一个 ScrollView Controller 来捕获三个页面上的用户信息。当用户完成所有信息并点击电子邮件按钮时,它应该发送一封电子邮件,但是现在不会。

下面是我的代码和头文件。我的头文件没有实现 MFMailComposeViewControllerDelegate ,因为它实现了 UIScrollViewDelegate 。我认为我的问题与未实现 MFMailComposeViewControllerDelegate 有关。我应该如何重新设计它?

头文件

@interface DiveEdScrollViewController : UIViewController <UIScrollViewDelegate>

调用电子邮件:

MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
mc.mailComposeDelegate = self;
[mc setSubject:subjectValue];
[mc setMessageBody:emailBody isHTML:NO];
[mc setToRecipients:diveContacts];
self presentViewController:mc animated:YES completion:NULL];

最佳答案

您的 View Controller 子类可以通过像这样用逗号分隔来采用多个协议(protocol) -

@interface DiveEdScrollViewController : UIViewController <UIScrollViewDelegate, MFMailComposeViewControllerDelegate >

在你的 .m 中实现方法

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error

如文档所述:

Your implementation of this method should dismiss the mail composition view. Implementation of this method is optional but expected.

在尝试像这样显示邮件编辑器之前,您还应该先检查以下类方法(以确定设备是否配置为发送邮件)-

if ([MFMailComposeViewController canSendMail]) {
[self presentViewController:mc animated:YES completion:NULL];
}

关于ios - 从 ScrollView 调用 MFMailComposeViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21654514/

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