2010-03-31 8 views
12

¿Estoy haciendo algo tonto? Puedo pre-llenado y correo electrónico bien, pero el "\ r \ n" se ignora en el emailBody:Nueva línea y devuelve ignorado en 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]; 
} 

Saludos

de Dave

Respuesta

4

Doh ... estado trabajando demasiado duro y mezcla Objetivo C cadenas con HTML. Se han usado <p> y </p> etiquetas para corregir.

de Dave

+2

Tenía HTML configurado en SÍ, swi tched to no y nuevas líneas trabajadas. ¿Qué es "y códigos de formato"? – quantumpotato

+0

@quantumpotato: la tuya es la única solución que funcionó –

26

Si isHTML configuración sí \ n no te funciona bien tienen que establecer isHTML: NO o utilizar un salto de línea HTML como <br /> para introducir una nueva línea .

<p> </p> inserta una nueva párrafo que normalmente significa salto de línea doble.

Intente esto con isHTML: SÍ:

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

Si isHTML: no sólo hay que poner \ n

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

que le dará la siguiente:

primera línea de
línea de segunda
tercera línea
y así sucesivamente ...

+0

Gracias Tibidabo, explicación realmente clara. –