我在UITableView中有两个单元格。一个人有一个webview,它从HTML字符串中加载数据
let cell = tableView.dequeueReusableCellWithIdentifier("cell4", forIndexPath: indexPath) as! CustomTableViewCell4
let htmlHeight = contentHeights[indexPath.row]
cell.webElement.tag = indexPath.row
cell.webElement.delegate = self
cell.webElement.loadHTMLString(HTMLContent, baseURL: nil)
cell.webElement.frame = CGRectMake(0, 0, cell.frame.size.width, htmlHeight)
return cell
和第二个加载网址
let htmlHeight = contentHeights[indexPath.row]
self.commentSection = cell.commentsView
self.commentSection.tag = indexPath.row
self.commentSection.delegate = self
let url = NSURL(string: commentsURL)
let requestObj = NSURLRequest(URL: url! )
self.commentSection.loadRequest(requestObj)
self.commentSection.frame = CGRectMake(0, 0, cell.frame.size.width, htmlHeight)
利用互联网的一些帮助,我得到了代表的功能,可以为此目的服务:
func webViewDidFinishLoad(webView: UIWebView)
{
if (contentHeights[webView.tag] == webView.scrollView.contentSize.height)
{
return
}
webView.frame.size.height = 1
webView.frame.size = webView.sizeThatFits(CGSizeZero)
contentHeights[webView.tag] = webView.scrollView.contentSize.height
tableView.reloadRowsAtIndexPaths([NSIndexPath(forRow: webView.tag, inSection: 0)], withRowAnimation: .Automatic)
}}
但这仅适用于从HTML String加载数据的第一行,因此第一行根据webcontent更改其高度。 但是对于第二行,行高度刷新两次,然后在完成URL加载并卡在一个小行高之前。
任何人都可以帮我这个???