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

Posted

技术标签:

【中文标题】如何设置表格视图高度。当搜索栏出现和消失时【英文标题】:How to set the table view height.when search bar is appear and disappear 【发布时间】:2016-05-03 15:58:32 【问题描述】:

我有一个表格视图,我正在显示来自 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)
      

但是没有用。

【问题讨论】:

【参考方案1】:

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

【讨论】:

能否请您提供一些示例代码。我是 ios 新手【参考方案2】:

不需要额外的代码,只需从表格视图中删除搜索栏并放置在表格视图的顶部即可。如果搜索栏隐藏,则调整表格视图高度 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)

【讨论】:

我应用了你的代码。但在其他部分。我的意思是在那个-searchbar。它没有取值。所以我做了 - 44。但我收到错误`'Int'类型的值没有成员“框架”` 我试图改变,但如果我给 - 搜索栏,它的终点会指向我的屏幕(米表视图) din get you.how to do that statically searchController.searchBar.frame = CGRect(x: 0, y: 0, width: 40 or 50 or 60, height: 50) 请更改y位置。

以上是关于如何设置表格视图高度。当搜索栏出现和消失时的主要内容,如果未能解决你的问题,请参考以下文章

搜索处于活动状态并推送到下一个视图控制器时出现导航栏问题

如何防止搜索栏在滚动时消失? iOS 斯威夫特

刷新控件和搜索栏导致表格视图/滚动视图出现奇怪的偏移,如何解决?

如何在点击时出现键盘时管理UITextField的高度?

Swift 中的 UiSearchController 到 UiCollectionView

重用表格视图单元格时出现问题?