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

考虑htmlBodyonCTCoreMessage而不是 的方法bodyPreferringPlainText:,它在可能的情况下更喜欢纯文本。如果您故意拉出消息正文的纯文本版本,您将永远看不到格式。

于 2013-04-15T22:14:50.150 回答