【问题标题】:Estimating the height of a UIWebView估计 UIWebView 的高度
【发布时间】:2012-11-10 12:32:41
【问题描述】:

我喜欢估计 UIWebView 将采用的大小,因为我在表格中使用 webview,如果我知道估计的高度,我可以立即将表格单元调整为正确的高度。

因此,当我获得 HTML 时,我计划触发低优先级背景威胁来创建 WebView、计算大小并将其与 HTML 一起存储在数据库中。然后当用户打开文章时,高度是可用的。

但是当我这样做时,我得到以下错误:

bool _WebTryThreadLock(bool), 0xb59b610: 试图获取网络锁 来自除主线程或网络线程之外的线程。这可能 是从辅助线程调用 UIKit 的结果。崩溃 现在...

有没有办法在不引起这个问题的情况下确定 HTML 的高度?

【问题讨论】:

    标签: ios cocoa-touch uiwebview


    【解决方案1】:

    您可以使 UIWebView 不可见,但它必须在主线程上。

    试试:

    webView.layer.zPosition = -1.0;
    webView.userInteractionEnabled = NO;
    

    【讨论】:

    • 我会尝试的,但我担心这会锁定主线程。我还有一个问题,当它在一个单独的线程中时,我可以让线程等待所有信息可用(每 0.5 秒检查一次),但不能像这样暂停主线程,必须想出一种触发方式事件。
    • UIWebView 是一头无情的野兽。我不羡慕你的任务;这是我关于知道 UIWebView 何时完成渲染的类似问题:stackoverflow.com/questions/5809212/…
    • 好吧,我还没有研究过持久性问题,但它有点工作,除了计算完全错误的事实(给出一个非常低的高度,加载时根本不对齐实际使用时通过XIB。所以还是有点迷。
    • 帧是否与通过 XIB 加载时的帧匹配?
    • 是的,我用相同大小的框架创建了 webview。但它返回的所需尺寸非常小(例如,当加载 UI 大小为 1045 时,何时通过代码 45)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 2011-12-11
    • 1970-01-01
    • 2014-12-24
    • 2014-05-12
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多