有一些关于此的问题,它有关于嵌入在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(没有外部文件),文本和基本64位编码图像。
我可以预先加载到detailHtml
文本中,但我认为显示需要更多时间。
在webView还没有完成加载html之前,是否可以不显示ViewController? - 一些回调?
有什么建议吗?
答案 0 :(得分:4)
这需要一点时间来加载HTML字符串default.But如果一切正常,那么为什么不放UIActivityIndicator
以便让用户保持与应用程序的关系。甚至比保持空白更好
以下是UIWebView
的委托方法:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
//And stop your indicator over here
[indicator stopAnimating];
}