2010-03-31 9 views
12

Mache ich etwas dummes? Ich kann vorfüllen und E-Mail in Ordnung, aber die "\ r \ n" in der emailbody ignoriert wird:Neue Zeile und Rückkehr ignoriert in setMessageBody

- (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]; 
} 

Grüße

Dave

Antwort

4

Doh ... wurde zu hart arbeiten und Misch Ziel C-Zeichenfolgen mit HTML. Verwendet <p> und </p> Tags zu beheben.

Dave

+2

Ich hatte HTML auf JA eingestellt, swi Zu keinen und neuen Linien gearbeitet. Was sind "und Formatierungscodes"? – quantumpotato

+0

@quantumpotato: Ihre ist die einzige Lösung, die funktioniert –

26

Wenn ISHTML gesetzt JA \ n funktioniert nicht entweder ISHTML einzustellen: NO oder einen HTML-Zeilenumbruch verwenden wie <br /> eine neue Linie einzugeben.

<p> </p> fügt einen neuen Absatz die in der Regel doppelte Zeilenumbruch bedeutet.

Versuchen Sie dies mit ISHTML: JA:

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

Wenn ISHTML: NEIN gerade setzen \ n

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

Es wird Ihnen dieses:

1. Zeile
2. Zeile
dritten Zeile
und so weiter ...

+0

Dank Tibidabo, wirklich klare Erklärung. –