我正在为iPhone构建一个RSS阅读器,我从服务器上获取文章及其HTML,我想在UITableView
中显示该用户的文章列表。
我已经探索了像DTCoreText这样的选项,可以将HTML与UILabel
或UITextView
一起使用,但遗憾的是,它并没有为我可以处理的所有HTML提供足够的支持。 。因此,UIWebView
或WKWebView
似乎是我准确表示内容的唯一选择。
问题在于内容如何变化高度。检测the content's height isn't too bad,但当您使用UITableView
时,表视图首先要求所有行的高度,并且使用Web视图,您必须首先加载内容,然后在回调中已完成装载,只有这样才能找到高度。这很烦人,因为在我的情况下,HTML非常简单,只需要非常的时间让Web视图呈现它。
所以你有这个问题,表视图要求行的高度,你基本上说“只需一秒钟,暂时取这个随机值,当我发现时,我会在一秒钟内告诉你。”这非常有效,因为当你滚动表格时,它会占用中间值,然后加载内容并更新,导致跳转,如果你因为高度反弹而向上滚动,这尤其糟糕对于上面的行,您正在计算。第一次看到它时缓存高度似乎也不起作用,因为用户可以旋转设备并使缓存的值无效。
所以我想知道,是否有 任何 方式可以在表格视图中使用网页浏览量?
答案 0 :(得分:1)
如果您已预先加载了网络内容,则可以。只需修改您的方法,并且在您拥有该行的Web内容之前,不要告诉表视图存在行。然后,一旦加载了内容,您就可以获得其高度并将该行插入表视图的底部。继续此过程,直到加载所有内容。