2010-03-31 82 views
12

我在做一些愚蠢的事情嗎?我可以預先填充和電子郵件確定,但「\ r \ n」在emailBody被忽略:在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]; 
} 

問候

戴夫

回答

4

衛生署...太辛苦的工作和混合目的帶有HTML的C字符串。使用<p></p>標籤來修復。

戴夫

+2

我把HTML設置爲YES,swi一直到沒有和新的線路工作。什麼是「和格式化代碼」? – quantumpotato 2011-02-03 17:47:09

+0

@quantumpotato:你的工作是唯一的解決方案 – 2015-05-06 12:20:50

26

如果isHTML設置YES \ n不工作,你要麼必須設置isHTML:NO或使用HTML換行符如<br />進入一個新的

<p> </p>插入一個新段落這通常意味着雙換行符。

與isHTML試試這個:YES:

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

如果isHTML:NO只是把\ n

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

它會給你:

一號線
二號線
3行
等等......

+0

感謝Tibidabo,真的很清楚的解釋。 – 2012-03-28 07:13:14