0

UIWebView配列から特定のオブジェクトを表示している があります (この場合は、電子メール メッセージの本文) 。私は次のコードでこれをやっています:

NSString *string = [messages objectAtIndex:count-row-1];
NSString *string2 = [string stringByReplacingOccurrencesOfString:@"\n" withString:@"<br/>"];


[self.webView loadHTMLString:string2 baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

現在私が使用しているこのコードの問題は、メッセージ本文にリッチ テキストや多数の HTML 画像、書式設定などが含まれている場合、メッセージが正しく表示されないことです。

「メッセージに適切に表示されない」と言うとき、上記の書式設定はすべて無視され、画像からプレーン テキストだけが抽出されて表示されることを意味します。

メッセージ本文をmessages配列にロードする方法は次のとおりです。

for (CTCoreMessage *msg in messageSet) {
                [messages addObject:[msg bodyPreferringPlainText:&isHTML]];

isHTMLは にBOOL設定されてNOいます。これが問題になるかどうかはわかりません。

を に設定してみましたisHTML BOOLYES、問題の半分は修正されました。現在、いくつかの (ほとんどの) 書式設定 (CSS/画像/リッチ テキスト) が表示されていますが、残念ながらいくつかのメッセージの途中で、次のようなタグが表示されます。

style="margin-bottom: 15px; width: 570px; text-align: left; margin-left: auto; margin-right: auto;" 

私は何を間違っていますか?

4

1 に答える 1

1

可能であればプレーンテキストを優先するhtmlBodyメソッド onCTCoreMessageの代わりに検討してください。bodyPreferringPlainText:メッセージ本文のプレーン テキスト バージョンを意図的に取得すると、書式設定が表示されることはありません。

于 2013-04-15T22:14:50.150 に答える