当搜索栏出现和消失时,如何设置表视图高度

时间:2016-05-03 15:58:32

标签: ios swift uitableview uisearchbar

我有一个表视图,我正在显示来自api的一些数据。我已经找到了一个搜索栏。我还有一个名为&#34的按钮名称;搜索栏按钮项目按钮"。

那么条件是什么,当屏幕加载时 - 我的搜索栏将隐藏。如果我按下那个"搜索栏按钮"那么只会显示搜索栏。

以下是代码:

/3/2016

我需要的是第一次搜索栏被隐藏时,我可以在桌面视图的上方看到更多空间。但是当我的搜索栏出现时。我的表格视图中没有空间。

但是当我的搜索栏被隐藏时。我在桌面视图上方看到了更多空间。如何解决?

以下是隐藏搜索栏并在表格视图上方显示空格的图像:

No search bar

以下是显示搜索栏时的图像:

Search bar

现在我该如何解决这个问题。我需要的是当隐藏我的搜索栏时,不应该显示该空间,并且我的表视图应该填充该空间。

怎么做?我试过这个:

foo 5/3/2016 bar

更新代码:

@IBAction func searchPressed(sender: AnyObject)
{
    if searchBar.hidden
    {
        searchBar.hidden = false
    }
    else
    {
        searchBar.hidden = true
    }
}

但它没有用。

2 个答案:

答案 0 :(得分:0)

UITableView固定在UISearchBar的底部。显示UISearchBar时,将其constant的顶部约束调整为0。隐藏后,将其constant的顶部约束调整为-searchBar.bounds.height。这些值假设UISearchBar固定在UINavigationBar

的底部

答案 1 :(得分:0)

无需额外的代码,只需从表格视图中删除搜索栏并放在表格视图的顶部即可。如果搜索栏隐藏,则调整表格视图高度 { TableViewList.frame = CGRectmake(0,0,self.view.frame.size.width,self.view.frame.size.height) }

否则 { TableViewList.frame = CGRectmake(0,0,self.view.frame.size.width,self.view.frame.size.height-srachbar.frame.size.height) }