2010-03-31 12 views
12

Czy robię coś głupiego? Mogę pre-fill i e-mail OK, ale "\ r \ n" jest ignorowany w emailBody:Nowa linia i powroty są ignorowane w zestawieMessageBody

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

Pozdrowienia

Dave

Odpowiedz

4

Doh ... pracują zbyt ciężko i mieszanie Cel Ciągi C z kodem HTML. Używane znaczniki <p> i </p> do naprawy.

Dave

+2

Miałem HTML ustawiony na TAK, swi naciągnięto na nie i pracowały nowe linie. Co to jest "i kody formatowania"? – quantumpotato

+0

@quantumpotato: Twoje jest jedynym rozwiązaniem, które zadziałało –

26

Jeśli isHtml ustawić YES \ n nie działa albo trzeba ustawić isHtml: NO lub zastosować podział wiersza HTML takich jak <br /> wprowadzić nową linię.

<p> </p> wstawia nowy pkt co zazwyczaj oznacza podwójne końca wiersza.

Spróbuj tego z isHtml: TAK:

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

Jeśli isHtml: NIE wystarczy umieścić \ n

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

To daje w ten sposób:

1. linia
2 linia
3rd linia
i tak dalej ...

+0

Dzięki Tibidabo, naprawdę jasne wyjaśnienie. –