【发布时间】:2012-04-10 01:07:01
【问题描述】:
我在导航控制器中有一个 UIWebView。它从 xml 文件中提取 html,然后显示 html。 html 包含通过<img src="image.png" /> 获取本地图像的代码。在 iPhone 模拟器上,UIWebView 同时显示文本和图像。但是,iPad 上有很大的延迟:
几秒钟后图像加载:
我怎样才能摆脱这种讨厌的延迟?
代码:
NSString *html = [NSString stringWithFormat:@"Blah blah %@ <img src='image.png'> %@", [self.questionsAndAnswers objectAtIndex:0], [self.questionsAndAnswers objectAtIndex:1]];
[webView loadHTMLString:html baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];
UIWebView 通过 Storyboard 连接。
编辑:尽管有我的 cmets,但实际上任何图像都会发生这种情况。我什至尝试将其加载到没有其他 html 的基本 UIWebView 中!
【问题讨论】:
-
你能把你加载的代码贴出来然后显示html吗?
-
另外,你的图片有多大?
-
我现在无法访问代码。图像相当小(最多 300x300)。我可以用更大的图像加载另一个 UITableViewCell 调用的另一个 UIWebView 并且仍然得到相同的结果
-
不看代码很难知道,但我猜你会因为图像被缓存而延迟。解决此问题的一种方法是在后台预加载带有图像的 html。
-
我尝试在我的应用程序的第一个屏幕上加载它(但不显示它),以为它会在这个屏幕上加载得更快,但事实并非如此。
标签: xcode cocoa-touch uiwebview