ios5 - webView loadHTMLString 完成?

标签 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(没有外部文件)、文本和 base 64 编码图像。

我可以预加载到 detailHtml文本,但我认为显示需要更多时间。

是否可以不显示 ViewController,直到 webView 尚未完成加载 html ? - 一些回调?

有什么建议么?

最佳答案

加载默认的 HTML 字符串需要一点时间。但如果一切正常,你为什么不输入 UIActivityIndicator这样可以让用户继续使用应用程序。甚至比保持空白要好得多

这是 UIWebView 的委托(delegate)方法之一:

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

关于ios5 - webView loadHTMLString 完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12781893/

相关文章:

iphone - iOS : Create one sideded dropshadow

ios - 在 iOS 中触摸时更改按钮的字体颜色

ios - 在一系列模态视图之后转换回第一个 View ?

ios - 关闭当前 View Controller 回到主视图 Controller 应用程序崩溃 IOS 7

javascript - YouTube 视频在 iPhone 的 Safari 或 UIWebView 上自动播放

iphone - 试图在 MapView 中模拟一条路线

iphone - 如何通过蓝牙将 iOS 设备连接到非 iOS 设备(Arduino 设备)?

swift - 无法关闭 View Controller

ios - 是否可以缓存 iPhone UIWebView 中加载的资源?

ios - 如何防止音频控件在 iOS UIWebView 中消失?