tableView 快速改变高度

Ант*_*кин -1 uitableview swift

我的 tableView 中有动态单元格计数,如何更改 tableView 高度?

我尝试了,但它不起作用:

self.tableView.frame.size.height = CGFloat(height)
Run Code Online (Sandbox Code Playgroud)

San*_*osh 5

如果您不使用autolayouts以下代码,则可以使用:

    func adjustTableViewHeight() {
        var height = tableView.contentSize.height
        let maxHeight = (tableView.superview?.frame.size.height)! - self.tableView.frame.origin.y

       if height > maxHeight {
           height = maxHeight
       }

        UIView.animateWithDuration(0.5) { 
            var frame = self.tableView.frame
            frame.size.height = height
            self.tableView.frame = frame
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果您正在使用,autolayouts请使用以下命令:

    func adjustTableViewHeight() {
        var height = tableView.contentSize.height
        let maxHeight = (tableView.superview?.frame.size.height)! - self.tableView.frame.origin.y

       if height > maxHeight {
           height = maxHeight
       }

        UIView.animateWithDuration(0.5) { 
           //Assuming 'tableViewHeightConstraint` is an IBOutlet from your storyboard/XIB
            self.tableViewHeightConstraint.constant = height
            self.tableView.setNeedsUpdateConstraints()
        }
    }
Run Code Online (Sandbox Code Playgroud)