webView loadHTMLString完成?

时间:2012-10-08 12:36:51

标签: ios5 uiviewcontroller uiwebview ios6

有一些关于此的问题,它有关于嵌入在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? - 一些回调?

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

这需要一点时间来加载HTML字符串default.But如果一切正常,那么为什么不放UIActivityIndicator以便让用户保持与应用程序的关系。甚至比保持空白更好

以下是UIWebView的委托方法:

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{
//And stop your indicator over here
   [indicator stopAnimating];
}