user394445
user394445

Reputation: 35

the ui of "New Message" of Mail app?

How to implement the UI of "New Message" of Mail app in iPhone.?

Upvotes: 1

Views: 235

Answers (2)

ram
ram

Reputation: 107

Don't worry about UI to integrate mail in your app. Everything will be taken care by MFMailComposeViewController Framework. Add this framework and Write the below code

    #import <MessageUI/MessageUI.h>

    @interface ViewReminderViewController_iPhone : UIViewController
                <MFMailComposeViewControllerDelegate>
    {
    UiButton *mailButton;
    }
    - (IBAction)EmailButton:(id)sender;
    @end

    @implementation ViewController
    - (IBAction)EmailButton:(id)sender
    {

        MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
        picker.mailComposeDelegate = self;
        [picker setSubject:@"Your EMail Subject"];

        //SET UP THE RECIPIENTS (or leave not set)
        //NSArray *toRecipients = [NSArray arrayWithObjects:@"[email protected]", nil];
        //[picker setToRecipients:toRecipients];

        //NSArray *ccRecipients = [NSArray arrayWithObjects:@"[email protected]", @"[email protected]", nil];
        //[picker setCcRecipients:ccRecipients];

        //NSArray *bccRecipients = [NSArray arrayWithObjects:@"[email protected]", nil];
        //[picker setBccRecipients:bccRecipients];

        //ATTACH FILE

        NSString *path;
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        path = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"MediaFiles"];
        path = [path stringByAppendingPathComponent:MyFileName];

        NSLog(@"Attaching file: %@", path);

        if ([[NSFileManager defaultManager] fileExistsAtPath:path])     //Does file exist?
        {
                NSLog(@"File exists to attach");

                NSData *myData = [NSData dataWithContentsOfFile:path];

                [picker addAttachmentData:myData mimeType:@"application/octet-stream"
                                 fileName:@"DesredFileName.mov"];

        }

        //CREATE EMAIL BODY TEXT
        NSString *emailBody = @"Your Email Body";
        [picker setMessageBody:emailBody isHTML:NO];

        //PRESENT THE MAIL COMPOSITION INTERFACE
        [self presentModalViewController:picker animated:YES];
        [picker release];

    }

 Delegate To Clear Compose Email View Controller


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

        [self dismissModalViewControllerAnimated:YES];      //Clear the compose email view controller
    }

Upvotes: 0

conmulligan
conmulligan

Reputation: 7148

Use the MFMailComposeViewController class.

Upvotes: 1

Related Questions