ios - 隐藏导航 Controller 搜索栏并以编程方式打开大标题

标签 ios swift uitableview uinavigationcontroller uisearchbar

我有一个tableView。我设置了有关 searchController 的所有设置(大导航栏中的搜索栏)-(滚动 tableview 时打开/关闭)。我实现了名称为 'Close' 的 rightBarButtonItem 。我想以编程方式隐藏/关闭 tableView 和搜索栏。我可以隐藏 tableView 但不能隐藏 SearchBar。

当我为 SearchBar 执行 isHidden 时,大导航栏不会缩小到正常大小。

图 1. 向下滚动打开搜索栏。

enter image description here

图 2. 以编程方式隐藏的大型导航栏(此处未实现 searchar.isHidden)

enter image description here

提前致谢。

我之前试过但是没有运行

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/

相关文章:

objective-c - Objective-C - block 代码不按顺序执行?

iphone - 向 UITableView 插入行崩溃

ios - `UTF16Index()` 或 `UTF16Index.init(encodedOffset:)` 用于 Xcode 8/9 支持

ios - 如何为具有动态高度的表格单元格正确设置自动布局?

iphone - 如何以允许用户选择单元格背景颜色的方式在 UITableViewCell 上获得圆角边缘? (但不使用 GROUPED 模式)

ios - 解析 PFAnalytics 不跟踪推送打开

dictionary - 从 Swift 字典中一次提取多个键的值

objective-c - 如何在 CocoaLibSpotify 注销时清除用户名和密码?

ios - "enable"- 我的 UIButton 成员不存在,为什么?

当设备电池​​电量低于 40% 时,iOS 后台获取失败