滚动页面时如何隐藏和显示视图

时间:2019-01-04 01:41:32

标签: ios swift

我编写了这段代码,然后隐藏了视图

self.tableView.tableHeaderView = nil  

但是,如果我尝试再次显示它,则此代码无法做到

tableView.tableHeaderView = tableHeaderView   

请帮助我

我的代码

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    if (self.lastContentOffset < scrollView.contentOffset.y) {
        // moved to top
        self.tableView.tableHeaderView = nil
    } 
    else if (self.lastContentOffset > scrollView.contentOffset.y) {
        if tableView.tableHeaderView == nil {
        // moved to bottom
            tableView.tableHeaderView = pre_test_view
        }
    } 
    else {
        // didn't move
    }
}

1 个答案:

答案 0 :(得分:0)

因此,当您最初实例化UITableView并将tableViewHeader设置为nil时,实际上并没有隐藏它……就象没有它而启动tableView一样。您可以做的..是在tableView.reloadData()之后调用tableView.tableHeaderView = tableHeaderView,这应该可以做到。