在iPhone应用程序中撰写邮件

K.H*_*nda 18 email iphone ios4 ios

在我的应用程序中,我有一个约会页面.我想放一个圆形的矩形按钮,当我按下它时,我就可以发送一封电子邮件给公司,并带有一个嵌入式电子邮件地址.

有没有这方面的教程?

提前致谢.

Mat*_*jan 63

这是代码:

OBJ-C:

(不要忘记将messageUI框架添加到您的项目中!!!)

首先导入消息库:

#import <MessageUI/MessageUI.h>
Run Code Online (Sandbox Code Playgroud)

然后将你自己标记为这样的代表:

@interface MYViewController () <MFMailComposeViewControllerDelegate>
Run Code Online (Sandbox Code Playgroud)

然后拉起作曲家(如果用户在他们的设备上设置了电子邮件):

- (IBAction)emailButtonPressed:(id)sender
{
    if ([MFMailComposeViewController canSendMail]) {
        MFMailComposeViewController *composeViewController = [[MFMailComposeViewController alloc] initWithNibName:nil bundle:nil];
        [composeViewController setMailComposeDelegate:self];
        [composeViewController setToRecipients:@[@"example@email.com"]];
        [composeViewController setSubject:@"example subject"];
        [self presentViewController:composeViewController animated:YES completion:nil];
    }
}
Run Code Online (Sandbox Code Playgroud)

然后处理委托回调并解雇作曲家:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    //Add an alert in case of failure
    [self dismissViewControllerAnimated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

SWIFT 3:

导入相关库:

import MessageUI
Run Code Online (Sandbox Code Playgroud)

将您的视图控制器标记为委托,如下所示:

class MyViewController: UIViewController, MFMailComposeViewControllerDelegate {
Run Code Online (Sandbox Code Playgroud)

拉起作曲家(如果用户在他们的设备上设置了电子邮件):

@IBAction func emailButtonAction(_ sender: UIButton) {

        if MFMailComposeViewController.canSendMail() {
            let mail = MFMailComposeViewController()
            mail.mailComposeDelegate = self
            mail.setToRecipients(["example@gmail.com"])
            mail.setSubject("Example Subject")
            mail.setMessageBody("<p>Test</p>", isHTML: true)
            present(mail, animated: true)
        }
    }
Run Code Online (Sandbox Code Playgroud)

处理委托回调并解雇作曲家:

func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
    controller.dismiss(animated: true)
}
Run Code Online (Sandbox Code Playgroud)


小智 13

您必须链接到MessageUI框架并使用该类MFMailComposeViewController.不要忘记导入框架(#import <MessageUI/MessageUI.h>).

带有示例代码的文档:http://developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMailComposeViewController_class/Reference/Reference.html