0

推送包含 UIView > UIWebView 的新视图控制器时,我有这种奇怪的(短)闪烁。

在包含 UIWebView 的 controller.m 中,我为 webView 设置了以下代码:


//EXAMPLE 1

NSString *path = [[NSBundle mainBundle] bundlePath]; NSURL *baseURL = [NSURL fileURLWithPath:path];

NSString htmlData = [NSString stringWithFormat:@"<html><head><style type=\"text/css\"> { margin:0; padding:0; }body { background-color:#c6c6c6; width: 320px; font-family: Helvetica; font-size:13px; line-height: 18px; color:#404a52; } #someOtherStyles...</style></head><body><div id=\"mededelingenDetailViewHeader\"><h1>%@</h1><p class=\"date\">%@</p><p class=\"author\">%@</p></div><div id=\"mededelingenDetailViewContent\"><p>%@</p></div><!-- mededelingenContent --></body></html>", titleString, dateString, authorString, filteredDescription ];

[webView loadHTMLString:htmlData baseURL:baseURL];

使用此代码,当将此控制器推到窗口上时会出现闪烁。但是,如果我将 htmlData 更改为更简单的内容,例如下面的代码,而没有例如 css,那么闪烁就会突然消失。


//EXAMPLE 2

NSString *htmlData = [NSString stringWithFormat:@"<html><head></head><body><h1>Some Header!</h1><p>Some text</p></body></html>"];

那么有没有办法在我的 NSBundle 中加载一个 .html 文件并将 NSString 分配给一些 HTML 内容,就像我在示例 1 中对 htmlData 所做的那样?或者有没有更好的方法来做到这一点?

谢谢!

4

1 回答 1

0

[webView loadHTMLString:htmlData baseURL:baseURL];从 viewDidAppear 调用?如果是这样,那就可以解释闪烁:它在用户观看时加载 HTML。将该调用移至 viewDidLoad 并查看是否可以解决问题。

于 2010-03-11T23:46:10.637 回答