【发布时间】:2012-09-28 17:07:42
【问题描述】:
关于这个有几个问题,它有一个关于嵌入在 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,但我认为显示需要更多时间。
在 webView 没有完成加载 html 之前,是否可以不显示 ViewController? - 一些回调?
有什么建议吗?
【问题讨论】:
-
加载 HTML 字符串需要一点时间。但如果一切正常,为什么不放 UIActivityIndicator 以便让用户与应用程序保持互动。甚至比保持空白要好得多.
-
@AjaySharma 以及何时停止指标? :) 只是要求回电 :)
-
有委托方法使用这个: - (void)webViewDidFinishLoad:(UIWebView *)webView.And stop your indicator over here.
-
@AjaySharma 请添加您的 cmets 作为答案,以便被接受和投票!
-
谢谢...我喜欢你的青睐 ;)
标签: ios5 uiviewcontroller uiwebview ios6