动态调整tableview的高度

时间:2018-01-16 15:05:34

标签: ios swift uitableview

如何调整tableview的高度? 我可以在最初加载屏幕时实现。 但是当我们在添加屏幕中添加数据时。我们从添加屏幕到显示屏幕。 tableview的高度没有反映出来。当我关闭应用程序并重新打开高度时会发生变化。 只有tableview的高度没有反映出来。但是数据得到了反映。

 func tableSize(count:Int,tableView:UITableView) {
        switch count {
            case 0:
                    tableView.heightAnchor.constraint(equalToConstant: 80).isActive = true
            case 1:
                    tableView.heightAnchor.constraint(equalToConstant: 95).isActive = true
            case 2:
                    tableView.heightAnchor.constraint(equalToConstant: 115).isActive = true
            case 3:
                    tableView.heightAnchor.constraint(equalToConstant: 155).isActive = true
            case 4:
                    tableView.heightAnchor.constraint(equalToConstant: 200).isActive = true
            default:
                    tableView.heightAnchor.constraint(equalToConstant: 250).isActive = true
        }
        tableView.layer.borderColor = UIColor.blue.cgColor
        tableView.layer.borderWidth = 1.0

    }

1 个答案:

答案 0 :(得分:0)

好吧,这样做你不会更新约束;只添加新的。

你应该在视图控制器中声明一个NSLayoutConstraint变量,为它指定tableView的高度约束,然后在最终调用view.layoutIfNeeded()

之前,在需要时更新它的常量。

请参阅How to update the constant height constraint of a uiview programatically