繁体   English   中英

UIWebView第一次在特定的UIViewController中显示时加载速度非常慢

[英]UIWebView is loading very slowly on the first time it is displayed in a specific UIViewController

我的故事板上有一个“产品详细信息” UIViewController ,它有一个UIWebView来显示“富文本”(基本上是粗体和斜体)。 使用字符串(从CoreData获取) loadHTMLString加载Web视图。 问题是第一次显示视图时,在呈现Web视图之前至少有一秒的延迟。 进一步加载“产品详细信息”视图加载所有加载正常。 它只是第一个“产品详细信息”Web视图,需要花时间加载。

这就是我的尝试(没有喜悦)

  1. 在第一个屏幕上显示带有文本的UIWebView (以预热UIWebView)
  2. 当需要显示详细信息视图时,在prepare for segue方法中init Web视图并将其传递给“产品详细信息”视图控制器。
  3. 我已经尝试了在故事板中具有Web视图/不在故事板/滚动视图等中的各种组合

如果其他人有这个问题以及他们如何克服它/解决它,我会非常感兴趣。 我觉得很奇怪,我在SO上找不到很多类似的问题; 我一定做些蠢事......


注意,我使用的是UIWebView,因此我可以显示富文本。 我知道我可以使用其他控件显示富文本,但是使我想要显示的文本的程序只能使用HTML导出富文本。

这是UIWebView的常见问题。 我的解决方法是最初隐藏Web视图(显示某种“Loading ...”指示符),然后将其隐藏在webViewDidFinishLoad:方法中。

您可以尝试使用OHAttributedLabel的OHASBasicHTMLParser ,它向后兼容iOS 6之前的版本,而不是使用UIWebView来显示富文本内容。

您可以在此处找到其标记解析器的示例。

这应该有助于大大加载:

    var data: Data? = htmlString.data(using: .utf8)

    if let aData = data {

        webView.load(aData, mimeType: "text/html", textEncodingName: "UTF-8", baseURL: NSURL() as URL)
    }

图片来源: http//iphonedevsdk.com/forum/iphone-sdk-development/23481-why-the-load-delay-with-a-uiwebview-and-local-text.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM