关于这个有几个问题,它有一个关于嵌入在 html 字符串中的脚本的解决方案。不是我的情况。
我有一个 ios5/6 应用程序。我试图将加载代码放入initWithNibName
坏主意,viewDidLoad
已弃用,所以viewWillAppear
离开了。
- (void) viewWillAppear:(BOOL)animated
{
NSString* detailHtml = [Storage getDetailHtml: -1];// get the last one
//NSLog(@"detailHtml: %@", detailHtml);
if(detailHtml == nil){
NSLog(@"Can't load the detail");
detailHtml = @"<html><body>Some text here</body></html>";
}
[webView loadHTMLString:detailHtml baseURL:nil];
[super viewWillAppear:animated];
}
此代码的问题是闪烁。它出现了 UIViewContoller,带有一个白色的 webView,而不是在 1-2 秒后显示 html。HTML 有一些文本,但也有 base64 编码的图像,有时它大约是 3Mb 甚至 5MB 内容。这里没有 javascript,只有内联 CSS(没有外部文件)、文本和 base 64 编码图像。
我可以预加载到detailHtml
文本中,但我认为显示需要更多时间。
是否可以不显示 ViewController,直到 webView 尚未完成加载 html ?- 一些回调?
有什么建议么?