[英]How to set the table view height.when search bar is appear and disappear
我有一个表视图,我正在显示来自 api 的一些数据。 我添加了一个搜索栏。我还有一个按钮名称,称为“搜索栏按钮项目按钮”。
那么条件是什么,当屏幕加载时 - 我的搜索栏将处于隐藏状态。如果我按下那个“搜索栏按钮”,那么只会显示搜索栏。
这是代码:
@IBAction func searchPressed(sender: AnyObject)
{
if searchBar.hidden
{
searchBar.hidden = false
}
else
{
searchBar.hidden = true
}
}
我需要的是,当第一次隐藏搜索栏时,我可以在表格视图上方看到更多空间。 但是当我的搜索栏显示时。 在我的表格视图中看不到空间。
但是当我的搜索栏处于隐藏状态时。 我在表格视图上方看到更多空间。 如何解决?
这是隐藏搜索栏且表格视图上方有空格时的图像:
这是显示搜索栏时的图像:
现在我该如何解决这个问题。 我需要的是,当我的搜索栏隐藏时,不应显示该空间,而我的表格视图应填充该空间。
怎么做? 我试过这个:
if searchBar.hidden
{
searchBar.hidden = false
TableViewList.rowHeight = 469
}
else
{
searchBar.hidden = true
TableViewList.rowHeight = 425
}
更新代码:
@IBAction func searchPressed(sender: AnyObject)
{
if searchBar.hidden
{
searchBar.hidden = false
TableViewList.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)
}
else
{
searchBar.hidden = true
TableViewList.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height-searchBar.frame.size.height)
}
}
但它没有用。
将您的UITableView
到UISearchBar
的底部。 显示UISearchBar
,将其顶部约束的constant
调整为0
。 隐藏时,将其顶部约束的constant
调整为-searchBar.bounds.height
。 这些值假设UISearchBar
固定在UINavigationBar
的底部
不需要额外的代码,只需从表格视图中删除搜索栏并将其放置在表格视图的顶部。 并在搜索栏隐藏时调整表格视图高度 { TableViewList.frame = CGRectmake(0,0,self.view.frame.size.width,self.view.frame.size.height) }
else { TableViewList.frame = CGRectmake(0,0,self.view.frame.size.width,self.view.frame.size.height-srachbar.frame.size.height) }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.