关闭搜索控制器后,UISearchBar的高度不会返回到先前的值

时间:2019-02-09 22:45:12

标签: uisearchbar

我正在尝试在导航栏中添加带有范围栏的搜索栏。

searchController = UISearchController(searchResultsController: nil)
let searchBar = searchController.searchBar
searchBar.scopeButtonTitles = ["Clients", "Vendors"]
searchBar.showScopeBar = true
navigationItem.searchController = searchController

这最初在搜索时有效,但在关闭搜索控制器后,导航栏返回较小的尺寸,从而隐藏了范围栏。

Initial

After dismissing search

根据“捕获视图层次结构”工具,缩小的是实际的UISearchBar,所以我尝试了一些技巧来增加它:

  • 覆盖didDismissSearchController和:
    • 在搜索栏上依次调用sizeToFit()navigationController?.navigationBar
    • 设置搜索栏的框架高度
    • 将searchBar的heightAnchor设置为常量
    • 在导航栏上调用setNeedsLayout()layoutIfNeeded()

我还尝试将搜索栏添加到表格视图的标题中,但这存在相同的问题:在取消搜索后,搜索栏会缩小。所以不是因为它在导航栏中,而是因为范围栏。

0 个答案:

没有答案