我有一个tableView
。我设置了有关 searchController 的所有设置(大导航栏中的搜索栏)-(滚动 tableview 时打开/关闭)。我实现了名称为 'Close' 的 rightBarButtonItem
。我想以编程方式隐藏/关闭 tableView 和搜索栏。我可以隐藏 tableView 但不能隐藏 SearchBar。
当我为 SearchBar
执行 isHidden
时,大导航栏不会缩小到正常大小。
图 1. 向下滚动打开搜索栏。
图 2. 以编程方式隐藏的大型导航栏(此处未实现 searchar.isHidden)
提前致谢。
我之前试过但是没有运行
tableView.setContentOffset(.zero, animated: false)
navigationController?.navigationBar.prefersLargeTitles = false
最佳答案
我试图找到一个合适的方法来隐藏搜索栏,但我没有找到。但是我找到了一个解决方法来隐藏您的搜索栏,即更改内容偏移您的表格 View 。
您可以尝试使用此功能来隐藏您的表格 View 和搜索栏。
func hide() {
tableView.isHidden = true
let point = tableView.contentOffset
let searchBarFrame = self.navigationItem.searchController?.searchBar.frame
let newPoint = CGPoint(x: point.x, y: point.y + searchBarFrame!.height)
tableView.setContentOffset(newPoint, animated: true)
}
关于ios - 隐藏导航 Controller 搜索栏并以编程方式打开大标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52689484/