【发布时间】:2011-10-20 03:12:31
【问题描述】:
我有一个包含很多行的 UITableView,每行包含一个 UIWebView。这个webView的内容存储在我的数据库中(在app上),tableView中每个单元格的高度是根据我的UIWebView的滚动高度来计算的。
问题出在这里,loadHtmlString 方法是异步工作的,所以当 UITableView get 的heighForRowAtIndexPath 方法被调用时,数据还没有加载到 UIWebView 中(因为它是异步工作的)。所以我无法计算单元格所需的高度。
那么问题来了,是否可以同步加载 UIWebView 的内容?我的 html 文本很短,所以同步加载它应该不会花那么长时间。
编辑: 是否可以在不将其放在 UIWebView 中的情况下计算 html 字符串的预期高度,我知道这可以使用纯文本,我不知道 html
【问题讨论】:
-
您可以预先计算高度并将其包含在数据库中吗?
-
作为最后的手段,您可以使用全局标志阻止线程直到它被加载。
-
@MattH 是的,我考虑过,但我宁愿不在我的数据库中存储 UI 信息。
-
如何从 $(document).ready() 函数回调到 ObjC 应用程序,基本上告诉它继续计算高度?
-
@MattH 回调不起作用,因为它可能会在单元格的高度被询问后返回
标签: iphone ios uitableview uiwebview