New line and returns ignored in setMessageBody
Asked Answered
N

2

12

Am I doing something dumb? I can pre-fill and email ok but the "\r\n" is ignored in the emailBody:

- (void) sendEventInEmail
{
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;

    NSString *emailSubject = [eventDictionary objectForKey:EVENT_NAME_KEY];

    [picker setSubject:emailSubject];

    // Fill out the email body text
    NSString *iTunesLink = @"http://itunes.apple.com/gb/app/whats-on-reading/id347859140?mt=8"; // Link to iTune App link
    NSString *content = [eventDictionary objectForKey:@"Description"];
    NSString *emailBody = [NSString stringWithFormat:@"%@\r\nSent using <a href = '%@'>What's On Reading</a> for the iPhone.", content, iTunesLink];

    [picker setMessageBody:emailBody isHTML:YES];

    picker.navigationBar.barStyle = UIBarStyleBlack;

    [self presentModalViewController:picker animated:YES];
    [picker release];
}

Regards

Dave

Naive answered 31/3, 2010 at 15:30 Comment(0)
N
4

Doh... been working too hard and mixing Objective C strings with HTML. Used <p> and </p> tags to fix.

Dave

Naive answered 31/3, 2010 at 16:35 Comment(2)
I had HTML set to YES, switched to no and new lines worked. What is "and formatting codes"?Gavrila
@Gavrila : Yours is the only solution that workedArgyres
P
28

If isHTML set YES \n does not work you either have to set isHTML:NO or use a HTML line break such as <br /> to enter a new line.

<p> </p> inserts a new paragraph which usually means double line break.

Try this with isHTML:YES:

[picker setMessageBody:@"1st line<br />2nd line<br />3rd line<br />and so on..." isHTML:YES]; 

If isHTML:NO just put \n

[picker setMessageBody:@"1st line\n2nd line\n3rd line\nand so on..." isHTML:NO]; 

It will give you this:

1st line
2nd line
3rd line
and so on...

Piroshki answered 28/3, 2012 at 0:15 Comment(0)
N
4

Doh... been working too hard and mixing Objective C strings with HTML. Used <p> and </p> tags to fix.

Dave

Naive answered 31/3, 2010 at 16:35 Comment(2)
I had HTML set to YES, switched to no and new lines worked. What is "and formatting codes"?Gavrila
@Gavrila : Yours is the only solution that workedArgyres

© 2022 - 2024 — McMap. All rights reserved.