在运行时增加uitablview高度以满足整个内容

时间:2017-08-22 15:59:54

标签: ios swift uitableview

我使用Swift 3和Xcode 8.1创建了一个应用程序。我上方有UITableviewUIView,点击其中的按钮即可显示和隐藏。当UIView出现时,UITableview的最后一个单元格未完全显示。

我在按钮中使用以下代码:

func filterShowHide ()
{
    if !isShown
    {
        filterImage.image = UIImage(named: "ME-Filter-re")
        self.filterView.isHidden = false
        self.tableViewTop.constant = 0
        // tableViewHeight.constant =  tableViewHeight.constant * 1.5
        isShown = true
    }
    else
    {
        filterImage.image = UIImage(named: "ME-Filter")
        self.tableViewTop.constant = -(self.HeaderView.frame.height) + self.filterBTN.frame.size.height
        self.filterView.isHidden = true
        isShown = false
        // tableViewHeight.constant =  tableViewHeight.constant / 1.5
    }
    UIView.animate(withDuration: 0.25) {
        self.view.layoutIfNeeded()
    }
}

有关详细信息,请点击此处的屏幕截图:

点击之前和点击

之后

Before clicking After clicking

如何完整显示最后一个单元格?

1 个答案:

答案 0 :(得分:0)

我认为问题是你的tableview高度仍然相同,当你更新顶部约束时它会被推下来。

您应该将表视图底部约束设置为其超级视图的底部,或者您可以使用您用于self.tableViewTop.constant的值更新tableView.contentInset.top