UIWebView奇怪的闪烁

时间:2010-03-11 23:39:41

标签: iphone uiwebview webview flicker

当推送包含UIView>的新viewController时,我有这种奇怪的(短暂的)闪烁。 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一样?或者有更好的方法吗?

THX!

1 个答案:

答案 0 :(得分:0)

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