2010-03-31 1 views
12

Tôi có làm điều gì đó ngu ngốc không? Tôi có thể pre-fill và email ok nhưng "\ r \ n" bị bỏ qua trong emailBody:Dòng mới và trả về bị bỏ qua trong 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]; 
} 

Trân

Dave

Trả lời

4

Doh ... được làm việc quá chăm chỉ và trộn Mục tiêu C chuỗi với HTML. Đã sử dụng các thẻ <p></p> để sửa.

Dave

+2

Tôi đã đặt HTML thành YES, swi nghiêng đến không và đường mới làm việc. "Mã định dạng" là gì? – quantumpotato

+0

@quantumpotato: Của bạn là giải pháp duy nhất làm việc –

26

Nếu isHTML thiết YES \ n không làm việc bạn có phải thiết lập isHTML: NO hoặc sử dụng một ngắt dòng HTML như <br /> nhập dòng mới.

<p> </p> chèn một đoạn mới đó thường có nghĩa là ngắt dòng kép.

Hãy thử điều này với isHTML: YES:

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

Nếu isHTML: NO chỉ cần đặt \ n

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

Nó sẽ cho bạn điều này:

1 dòng
2 dòng
3rd dòng
và cứ thế ...

+0

Cảm ơn Tibidabo, lời giải thích thực sự rõ ràng. –