动态调整UITableView高度

时间:2017-02-11 23:30:54

标签: swift uitableview swift3

我正在尝试调整tableview的大小,动态地将大小修改为其内容(行数)。排高度固定为300,当我按下桌子下方的按钮时,我需要扩大他的高度。

我已经尝试在uiTableView中禁用滚动控件并将此代码放在viewDidAppear中,但是我没有得到正确的结果:

DispatchQueue.main.async {
            var frame: CGRect = self.tableView.frame;
            frame.size.height = self.tableView.contentSize.height;
            self.tableView.frame = frame;
}

我还尝试实现此方法并在添加行之前调用它们:

func tableView_Auto_Height()
    {
        if(self.tableView.contentSize.height < self.tableView.frame.height){
            var frame: CGRect = self.tableView.frame;
            frame.size.height = self.tableView.contentSize.height;
            self.tableView.frame = frame;
        }
    }

我有这个方案视图:

components scheme

1 个答案:

答案 0 :(得分:0)

最后,我解决了在滚动之前添加包含scrollview(查看附加图像)和其他视图的视图并在按钮中添加此行的问题:

let numberForConstraint = CGFloat((detailLines.count + 1)  * 300)
tableHeightConstraint.constant = numberForConstraint

也许不是最好的解决方案,但这解决了我的问题。

enter image description here