使用动态增加单元格计算表格视图的内容大小

Posted

技术标签:

【中文标题】使用动态增加单元格计算表格视图的内容大小【英文标题】:Calculating content Size of Table View with dynamic increasing cell 【发布时间】:2016-03-10 08:55:28 【问题描述】:

我正在尝试计算具有动态增加单元格的 tableView 的内容大小高度。为此,我将代码编写为 -

override func viewDidLoad()
    
        super.viewDidLoad()

        self.tableView.estimatedRowHeight = 150
        self.tableView.rowHeight = UITableViewAutomaticDimension

    

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    


            let cell = tableView.dequeueReusableCellWithIdentifier("cell1", forIndexPath: indexPath) as! MostLikedTVCscnd
            cell.image.image = imageArr[indexPath.row] as? UIImage
            cell.aboutLbl.text = labelArr[indexPath.row] as? String


let contentSizeHeight  = tableView.contentSize.height//But here I am not getting the proper height

return cell


我检查了计算 tableView 内容大小的问题中的答案 - https://***.com/a/17939938/5395919 内容为

请注意,这对那些不起作用的人来说——tableView:estimatedHeightForRowAtIndexPath 会与 contentSize 混淆,因此您只需删除它的实现即可获得好运。 ——魏文

那么,尽管单元格大小是动态的,有什么方法可以让我获得正确的内容大小?

【问题讨论】:

嘿,你找到解决这个问题的方法了吗?我也遇到过同样的问题 【参考方案1】:

您可以使用键值观察 (KVO) 来在表格视图的内容大小发生变化时得到通知。这可能适用于您尝试做的事情,也可能不适用。我只是不清楚您要获得什么,但我认为尝试在 cellForRowAtIndexPath 中使用它并不好。

【讨论】:

以上是关于使用动态增加单元格计算表格视图的内容大小的主要内容,如果未能解决你的问题,请参考以下文章

来自自定义 Xib 的表格视图中的动态单元格大小 [重复]

调整单元格大小时如何使表格视图动画平滑

动态更改表格视图单元格的高度

根据在单元格中的文本字段中输入的值动态增加表格视图单元格

使用自动布局约束动态调整表格视图单元格的大小

自动调整大小(动态高度)表格视图单元格的问题