如何在UIWebView中允许HTML呈现?

时间:2013-04-15 21:58:19

标签: iphone html uiwebview

我有一个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 BOOL设置为YES,嗯,它解决了问题的一半。现在,显示了一些(大多数)格式(CSS /图像/富文本),但不幸的是,在某些消息的中间,我得到这样的标签,在没有位置的中间:

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

我做错了什么?

1 个答案:

答案 0 :(得分:1)

考虑CTCoreMessage上的htmlBody方法,而不是bodyPreferringPlainText:,它尽可能优先使用纯文本。如果您故意拉出邮件正文的纯文本版本,您将永远不会看到格式。