1

いくつかのテキストをとして保存していますNSString。テキストには複数の段落が含まれています。テキストをログに記録または表示すると、改行文字が正しく挿入されます。

ただし、を使用しMFMailComposeViewControllerてテキストをメールの本文に追加すると、新しい行が削除され、テキストが一緒に実行されます。

これの原因は何ですか?また、フォーマットを保持するにはどうすればよいですか?

4

3 に答える 3

4

改行で参照している場合、これを行う方法は機能するはずです\n。代替案の 1 つは、出現箇所を\nwithに置き換え<br>、コンポーザーの isHTML フラグを YES に設定することです。

NSString *emailString = [myParagraphs stringByReplacingOccurrencesOfString:@"\n" withString:@"<br>"];
[mailComposer setMessageBody:emailString isHTML:YES];                    
于 2013-01-01T16:30:01.600 に答える
2

(OK、みんなが私のコメントから答えを書いたら、私も答えを書きます...)

テキストを HTML として扱うようにビュー コントローラーに指示すると、その書式を保持できます。それ以外の場合は破棄されます。この場合、もちろん、実際の HTML をフィードする必要があることに注意してください ( \nHTML ではダメです)。だから試してみてください:

NSCharacterSet *set = [NSCharacterSet newlineCharacterSet];
NSString *html = [[body componentsSeparatedByCharactersInSet:set]
    componentsJoinedByString:@"<br />"];
[viewController setMessageBody:html isHTML:YES];
于 2013-01-01T16:40:25.427 に答える
0

コメントで H2CO3 が述べたように、HTML コンテンツとしてラップする必要があります。

NSString *myEmailBody = @"First Line <br/> Second <br/> Third";
[composer setMessageBody:myEmailBody isHTML:YES]; 
于 2013-01-01T16:32:05.687 に答える