Swift:更改UITableViewCell的行高,其中包含UIWebView

时间:2016-05-23 11:44:12

标签: ios swift uitableview uiwebview

我在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加载并卡在一个小行高之前。

任何人都可以帮我这个???

0 个答案:

没有答案